基本类型
int
- uint8 无符号 8 位整型 (0 到 255)
- uint16 无符号 16 位整型 (0 到 65535)
- uint32 无符号 32 位整型 (0 到 4294967295)
- uint64 无符号 64 位整型 (0 到 18446744073709551615)
- int8 有符号 8 位整型 (-128 到 127)
- int16 有符号 16 位整型 (-32768 到 32767)
- int32 有符号 32 位整型 (-2147483648 到 2147483647)
- int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
float
- float32 IEEE-754 32位浮点型数
- float64 IEEE-754 64位浮点型数
- complex64 32 位实数和虚数
- complex128 64 位实数和虚数
bool
string
其他数字类型
- byte 类似 uint8
- rune 类似 int32
- uint 32 或 64 位
- int 与 uint 一样大小
- uintptr 无符号整型,用于存放一个指针
结构化的(复合的)
array
struct
slice
map
channel
描述类型的行为的
interface
注意事项:
1.Go 语言中不存在类型继承
2. type 关键字可以定义你自己的类型
type name int
type (
name1 int
name2 float
name3 string
)
3.初始化声明:
我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,而这个时候再在 Example 4.4.1 的最后一个声明语句写上 var 关键字就显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。
a 和 b 的类型(int 和 bool)将由编译器自动推断。
这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。
4.变量可以进行 并行/同时 赋值
a, b, c := 5, 7, "abc"
5.交换变量值:
如果你想要交换两个变量的值,则可以简单地使用:
a, b = b, a
评论/回复