GO语言中的类型:(1)布尔型 (2)数字类型 (3)字符串类型 (4)派生类型 这四种
(1)布尔类型
布尔型的只可以是常量true或false,一个bool类型变量在声明时没有赋值则默认为false.bool变量占用一个字节
注意点:
bool变量 = bool(其他类型)
其他类型变量 = 对应类型(bool变量)
这两种情况都是会报错的
(2)数字类型
数字类型的所有类型:
int,uint8,uint16,uint32,uint64,int8,int16,int32,int64,float32,float64,complex64,complex128,byte
(类似uint8),rune(类似uint32),uint,uintptr
截图来自:https://www.cnblogs.com/fengbohello/p/5854108.html
a := 整数 这种情况a类型默认是int
b := 1.1 这种情况b类型默认是float64
数字类型之间可以进行强制转换(不能隐式转换)
complex64,complex128分别占8字节和16字节。内置函数complex从指定的实部和虚部构建复数,内置函数real和imag用来获取复数的实部和虚部。
如果一个浮点数的字面量后面跟着一个i,例如1.2i或2i,那么它将变成一个复数的虚部,这个复数的实部是0。
也可以如下方式进行声明变量
复数可以通过 == 或 != 进行比较。两个复数相等当且仅当它们的实部和虚部都相等(复数底层是浮点数,因此比较时要要特别小心)
标准库中math/cmplx包提供了复数常用常数和常用函数
complex64和complex128可以参考:http://blog.csdn.net/erlib/article/details/50906571
编程注意:在开发中,使用int的话,int最大值会根据cpu的位数得到最大值和最小值。
(3)字符串型
GO中一个字符串变量占用的大小是16字节,Go语言的字符串的字节使用UTF-8编码标识Unicode文本,可以通过 + 字符串在末尾增加字符串,但是字符串占用的大小还是一样。
(4)派生类
包括:
(a)指针类型(Pointer)
(b)数组类型
(c)结构化类型(struct)
(d)Channel类型
(e)函数类型
(f)切片类型
(g)接口类型(interface)
(h)Map类型