Golang学习笔记(2)---go语言基本类型

前端之家收集整理的这篇文章主要介绍了Golang学习笔记(2)---go语言基本类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

布尔型:bool

长度1字节

取值范围:true,false

注意:不可以用数字代表true或false


整型:Int

根据平台可能为32为或64位

8位整型:int8/uint8

长度:1字节

取值范围:-127~127,0~255

byte 字节型 其实就是 uint8的别名

16位整型:int16/uint16

长度:2字节

取值范围:-32768~32768,0~65535

32位整型:int32/uint32

长度:4字节

rune就是int32的别名

浮点型:float32/float64

长度:4字节/8字节

小数位:float32精确到小数点后7位,float64精确到小数点后15位

保存指针的uintptr类型,根据平台来分为32位或64位


其他类型:

array struct string


引用类型:

map slice chan(并发会使用到)

接口类型:interface

函数类型:func (因为函数可以复制给变量的)

类型零值:

零值并不等于空置,而是当变量被声明为某种类型后的默认值,通常情况下值的类型都为0,bool为 false,string为空字符串,数组的话和数组类型的零值保持一致 [2]int,则数组的初始值为[0 0]


类型别名:

使用type对类型进行别名

wKioL1fOX6-yol1mAAAvY8XDU18478.png-wh_50

这样是可以的,但是不建议这样使用,type定义一些其他的别名(type byte64 int64),来使代码可读性更强

type定义的类型的别名,其实只是和该类型的结构相同,所以要做类型转换的时候,还是需要进行显式转换的,而byte rune 的确是uint8 int32,的别名,可以进行相互转换

可以进行转换:

wKiom1fOX6_ghspOAAA5Y5TkGtk677.png-wh_50

这样是无法进行转换的

wKioL1fOX7DDBSldAABL_Wmov2E260.png-wh_50

必须做显式的类型转换才可以

wKiom1fOX7CgZRspAAAYXXyANL4891.png-wh_50

原文链接:https://www.f2er.com/go/189399.html

猜你在找的Go相关文章