1、数据类型
因为每一种数据类型所占内存大小是定义好的,所以定义数据类型是为了把数据分成所需内存大小不同的数据,避免内存浪费。 备忘如下:
Go 语言按类别有以下几种数据类型:
类型 | 说明 |
---|---|
布尔型 | true 或者 false,也就是真或假 |
数字类型 | 整型 int,也就是整数。和浮点型 float32、float64,也就是小数 |
字符串 | 字符串就是一串固定长度的字符连接起来的字符序列 |
派生类型,包括:
- 指针类型(Pointer)
- 数组类型
- 结构化类型(struct)
- Channel 类型
- 函数类型
- 切片类型
- 接口类型(interface)
- Map 类型
同时,Go 也有基于架构的类型
- 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)
- float32:IEEE-754 32位浮点型数
- float64:IEEE-754 64位浮点型数
- complex64:32 位实数和虚数
- complex128:64 位实数和虚数
- byte:类似 uint8
- rune:类似 int32
- uint:32 或 64 位
- int:与 uint 一样大小
- uintptr:无符号整型,用于存放一个指针
2、变量
2.1声明变量
变量声明:var 变量名 类型
例如:
第一种,指定变量类型,如果没有初始化,则变量默认为零值。
var a string //声明一个字符串变量a
第二种,指定变量类型,如果没有初始化
var a string = "hello" //声明一个字符串变量a,初始化值为 hello
第三种,更为更为精简的写法:
例如:a:= 100
这是Go语言的推导声明写法
,编译器会自动根据右值类型推断出左值的对应类型
。
注意:由于使用了“:=
”,而不是赋值的“=
”,因此推导声明写法的左值变量必须是没有定义过的变量。若定义过,将会发生编译错误。如果hp已经被声明过,但依然使用“:=”时编译器会报错 。
2.2使用变量
2.3 修改变量,然后使用变量
3、常量
常量是我们定义的一个在程序运行时,不会被修改的量。
常量声明: const 常量名 类型 = 值
,声明常量时,就必须要指定值
例如:const id= "123456"