文章目录
- 环境准备
- 一、引言
- 二、Var关键字
- 三、数据类型
- 1. 整型
- 符号表示
- 值的范围
- 2. 浮点型
- 精度
- 范围
- 性能
- 3. 布尔型
- 4. 字符串
- 三、变量声明
- 1. 指定变量类型
- 2. 自动推导类型
- 3. 批量声明
- 四、方法定义
- 五、总结
环境准备
开发环境:MacOS
Go版本:go version go1.23.1 darwin/amd64
开发工具:GoLand
一、引言
Go语言,也称为Golang,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。自2009年发布以来,Go语言以其简洁的语法、高效的性能和出色的并发处理能力,在云计算、微服务等领域得到了广泛应用。本文将带你了解Go语言的基本语法,包括数据类型、变量声明、方法定义等。
二、Var关键字
在Go语言中,关键字 var 用于声明变量。以下是 var 的主要用途和作用:
声明变量: var 关键字用于在Go语言中声明一个新的变量。声明变量时,你可以指定变量的类型和名称。
初始化变量: 你可以在声明变量的同时为其赋一个初始值,也可以先声明后赋值。
批量声明: 使用 var 关键字,可以一次性声明多个变量。
具体使用可见下文
三、数据类型
Go语言的数据类型分为基本数据类型和复合数据类型。基本数据类型包括整型、浮点型、布尔型等,而复合数据类型包括数组、切片、映射、结构体等。
1. 整型
Go语言整数类型分为无符号整数(unsigned integers)和有符号整数(signed integers)。提供了以下几种整型:
- int8、int16、int32、int64:分别表示8位、16位、32位、64位有符号整数。
- uint8、uint16、uint32、uint64:分别表示8位、16位、32位、64位无符号整数。
- int:根据平台可能是32位或64位整数。
- uint:根据平台可能是32位或64位无符号整数。
示例代码:
var a int = 10
var b int8 = 20
var c uint32 = 30
符号表示
- 无符号整数:只能表示非负数,即零和正整数。
- 有符号整数:可以表示负数、零和正整数。
值的范围
- 无符号整数:其值的范围从0开始到最大正整数值。
- 有符号整数:其值的范围从最小负整数值到最大正整数值。
2. 浮点型
Go语言提供了两种浮点型:
- float32:32位浮点数。
- float64:64位浮点数。
示例代码:
var d float32 = 3.14
var e float64 = 2.71828
精度
- float32:是32位(或4字节)的单精度浮点数,遵循IEEE 754标准。它通常有大约7到8位十进制数的精度。
- float64:是64位(或8字节)的双精度浮点数,也遵循IEEE 754标准。它通常有大约15到16位十进制数的精度。
范围
- float32:能表示的数值范围大约是±1.18×10-38到±3.4×1038(负数和正数)。
- float64:能表示的数值范围大约是±2.23×10-308到±1.8×10308。
性能
- 在某些情况下,float32 的计算可能会比 float64 更快,因为32位浮点数的运算通常需要更少的CPU周期。
- 然而,现代CPU通常对64位浮点数有更好的支持,所以在很多情况下,float64 的性能和 float32 相差不大。
3. 布尔型
布尔型数据只有两个值:true和false。
示例代码:
var f bool = true
4. 字符串
字符串是由单个字节连接起来的字符序列,使用双引号表示。
示例代码:
var g string = "Hello, World!"
三、变量声明
Go语言提供了三种变量声明方式:
1. 指定变量类型
var name string
name = "John"
2. 自动推导类型
name := "John"
3. 批量声明
var (name stringage int
)
name = "John"
age = 30
四、方法定义
在Go语言中,方法是一种特殊的函数,它属于一个类型。方法定义格式如下:
func (receiver ReceiverType) MethodName(params) returnType {// 方法体
}
示例代码:
// 声明这是一个可执行程序
package main// 导入fmt包用于格式化输出
import "fmt"/**
* Person结构体定义
**/
type Person struct {Name stringAge int
}
/**
* 定义一个方法
**/
func (p Person) SayHello() {fmt.Printf("Hello, my name is %s. I am %d years old.\n", p.Name, p.Age)
}// 程序启动方法
func main() {// 创建一个新的Person实例person := Person{Name: "John", Age: 30}person.SayHello()
}
运行上述代码,输出结果为:
Hello, my name is John. I am 30 years old.
五、总结
本文介绍了Go语言的基本语法,包括数据类型、变量声明和方法定义。掌握这些基础知识,可以帮助你更好地学习Go语言,为后续深入学习打下坚实基础。在实际开发过程中,不断实践和积累经验,才能熟练运用Go语言解决问题。