go lang学习笔记 8 - 基本数据类型

1073
|
2021-12-24 11:22:00

整型

整型分为以下两个大类:按长度分为:int8, int16, int32, int64; 对应无符号整型 uint8, uint16, uint32m uint64

类型描述
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

特殊整型

类型描述
uint32操作系统上是 uint32,64位操作系统上是 uint64
int32操作系统上是 int32,64位操作系统上是 int64
uintptr无符号类型,用于存放一个指针
fmt.Printf("%d\n", i1) //十进制
fmt.Printf("%b\n", i1) //二进制
fmt.Printf("%o", i1) //8进制 文件权限
fmt.Printf("%x\n", i1) //16进制 内存地址
fmt.Printf("%T\n", i1) //产看变量类型

 

浮点数

两种 float32, float64

未指定的默认为 float32

f1 := 1.2345
f2 := float32(1.234)
f1 = f2 //错误,类型不一致,f1 为 float64

 

布尔值

bool 只有 truefalse

  1. 默认为 false
  2. 不允许其他类型强制转换为布尔值
  3. 无法参与数值运算,也无法与其他类型镜像转换

 

字符串

utf8 编码,只能用" 双引号包裹

单引号只能包裹单独的字符 'a' , '1', '你'

多行字符串 用反引号 ` 包裹,反引号中内容原样输出包括换行,转义字符等

str := `
hello
moto
\c\mnt\code
`

字符串相关操作