整型
类型 | 描述 |
---|---|
uint8 | 无符号8位整型(0到2^8 -1) |
uint16 | 无符号16位整型(0到2^16-1) |
uint32 | 无符号32位整型(0到2^32-1) |
uint64 | 无符号64位整型(0到2^64-1) |
int8 | 有符号8位整型(-2^8 到2^8-1) |
int16 | 有符号16位整型(-2^16 到2^16-1) |
int32 | 有符号32位整型(-2^32 到2^32-1) |
int64 | 有符号64位整型(-2^64 到2^64-1) |
package main
import "fmt"
func main() {
//明确指定类型,否则就是默认类型int
o := int8(9)
//这里的%T是查看数据类型
fmt.Printf("%T\n", o)
//这里返回o的值无论是什么类型
fmt.Printf("%v\n", o)
}
特殊整型
类型 | 描述 |
---|---|
uint | 32位操作系统上就是uint32,64位操作系统上就是uint64 |
int | 32位操作系统上就是int32,64位操作系统上就是int64 |
uintptr | 无符号整型,用于存放一个指针 |
注意:
在使用int和uint类型时候,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上的差异。
注意事项:
在获取对象的长度的内建len()函数返回的长度可以根据不同的平台的字节长度进行变化。在实际使用中,切片或者map的元素数量等都可以使用int来表示。在涉及到二进制传输、读写文件的描述时,为了保护文件的结构不会受到不同编译目标平台字节长度的影响,不要使用int和uint。
浮点型
float32 和float64打印浮点型时候配合动词%f
package main
import "fmt"
import "math"
func main() {
fmt.Printf("%f\n", math.Pi)
fmt.Printf("%.2f\n", math.Pi)
}
复数
complex64 和complex128
var c1 complex64
c1 = 1 + 2i
var c2 complex128
c2 = 2 + 3i
fmt.Println(c1)
fmt.Println(c2)
布尔值
Go语言中以bool类型进行声明布尔型数据,布尔型数据只有true(真)和false(假)两个值。
注意:
- 布尔类型变量的默认值为false。
- Go 语言中不允许将整型强制转换为布尔型.
- 布尔型无法参与数值运算,也无法与其他类型进行转换。
字符串
go语言中要定义一个多行字符串时,就必须使用反引号字符:
双引号是字符串,单引号是字节.
字符串一个汉字占3个字节
func main() {
// main函数,是程序执行的入口
a := "我是狗abcdefg1"
fmt.Println(len(a)) //17
fmt