Golang基础——数据类型

五、数据类型

不同的数据类型占不同的空间,声明一个类型的变量告诉编译器以多大的内存空间来存储这个数据。

1 bool类型

​ 1 bool类型:只有两个值:true 和 false

​ 2 bool类型,不支持强制类型转换:bool(1)

var a bool
a = true
a = false
var b = true
c := false
d := (1==2)  // false

2 整型

int :有符号整型,10,-10;32位电脑:占4位,64位电脑:占8位。默认整型的类型。
uint : 无符号整型,只能表示正数
int32:占4位。4 * 8 = 32
int8, int16, int64

2 浮点型

双精度:float64 // 精确到小数 15 位,浮点型的默认类型。
单精度:float32 // 精确到小数 6 位

x := 1.123456789123456789
var y float32 = 1.123456789
fmt.Println(x, y)

结果:
1.1234567891234568 1.1234568

3 字符

单引号:字符
双引号:字符串

一个汉字字符占 3个字节

转义字符:
\n :换行符
\t :制表符
\0 :字符串末尾的字符,字符串结束的标志

c := 'c'
fmt.Println(c)
fmt.Printf("%c", c)
fmt.Printf("%c", 97)  // 直接数字,找到对应ASCII表的字符

结果:
99
c
a

var d byte = 'd'
fmt.Printf("%T", d)

结果:
uint8

// %c :格式化字符
// 99 为 字符 c 的 ASCII码
// byte uint8 是一个类型,var d uint8 = 'd'  // 也是可以的

4 字符串string:

单引号:字符
双引号:字符串

var str1 string
str1 := "123jfjdsj"

// 字符串字符个数,不包含 \0
len(str1)  
// 字符串拼接
str3 := str1 + str2  
// 取某个字符
str[1]

5 字符和字符串的区别

1 字符和字符串是两种不同类型
2 单引号:字符;双引号:字符串
3 字符一个字符,字符串一个或多个字符
4 字符串有隐藏的 \0 结束符

6 复数类型

complex64 和 complex128(默认)

t := 3 + 4i
fmt.Println(t)
fmt.Printf("%T\n", t)
fmt.Println(real(t), imag(t))  // 内建函数

结果:
(3+4i)
complex128
3 4
posted @ 2021-03-07 17:37  pythoner_wl  阅读(60)  评论(0编辑  收藏  举报