变量与常量
定义变量
在 Go 中,可以使用 var
关键字来定义变量。例如:
var age int age = 25
也可以在同一行上定义多个变量:
var age, weight int age = 25 weight = 70
还可以在定义变量时直接赋值:
var age int = 25
或者使用简短声明语法 :=
:
age := 25
定义常量
常量的定义需要使用 const
关键字。例如:
const Pi float64 = 3.14159
Go 也支持枚举类型的常量,通过 iota
来实现:
const ( Small = iota Medium Large )
在这个例子中,Small
的值为 0,Medium
的值为 1,Large
的值为 2。
基本数据类型
整型
Go 支持多种整型,包括无符号整型和有符号整型。常见的整型如下:
int8
uint8
(等同于byte
)int16
uint16
int32
(等同于rune
)uint32
int64
uint64
int
(根据系统不同,可能是 32 位或 64 位)uint
(根据系统不同,可能是 32 位或 64 位)
示例代码:
var a int8 = -128 var b uint8 = 255 var c int32 = -2147483648 var d uint32 = 4294967295 var e int64 = -9223372036854775808 var f uint64 = 18446744073709551615
浮点型
Go 提供了两种浮点类型:float32
和 float64
。float64
是默认类型,通常用于精度要求较高的场景。
示例代码:
var x float32 = 3.14 var y float64 = 2.71828
复数
复数类型由 complex64
和 complex128
表示,分别对应 32 位和 64 位浮点数。
示例代码:
var z complex64 = 1 + 2i var w complex128 = 3.14 + 2.71i
布尔型
布尔型只有两种值:true
和 false
。
示例代码:
var isTrue bool = true var isFalse bool = false
字符串
字符串在 Go 中是不可变的字节序列,可以使用双引号或反引号来表示。
示例代码:
var greeting string = "Hello, world!" var multiline string = `This is a multiline string`
类型转换
在 Go 中,可以通过显式地类型转换来改变变量的数据类型。例如:
var x int = 10 var y float64 = float64(x)
也可以通过类型断言来进行类型转换:
var i interface{} = 42 x := i.(int)
注意:类型断言可能导致运行时错误,如果类型不匹配。
类型别名
Go 1.9 引入了类型别名功能,允许创建现有类型的别名:
type Celsius float64 type Fahrenheit float64 const ( AbsoluteZeroC Celsius = -273.15 FreezingC Celsius = 0 BoilingC Celsius = 100 )
总结
通过这一章的学习,我们了解了 Go 语言的基本数据类型以及如何定义变量和常量,还掌握了不同类型之间的转换方法。掌握这些基础知识对于进一步学习 Go 编程至关重要。下一章我们将探讨 Go 语言中的控制结构。
以上是关于 Go 语言数据类型的详细讲解。希望对你有所帮助!如果你有任何问题,请随时提问。