Go学习--基本类型

1、布尔型: bool

取值范围:true/false

注意:不能 用数字0或者空来代表false 或者说 用非零来代表true

2、整形:

int(有符号整形)/uint(无符号整形)

注意事项:整形是多少位取决于平台,即平台上32位则整形也就是32位的

8位整形:int8/uint8  

取值范围:-128~127/0~255

注意:还有16位整形、32位整形、64位整形有符号和无符号

字节型:byte(unit8的别名)

取值范围:0~255

注意:还有一个别名“rune”,它是int32位的别名

3、浮点型

float32/float64

注意:精确位数--float32精确到7位小数,float64精确到15位小数

4、复数:complex64/complex128

5、其他值类型:

array、struct、string

6、引用类型:

slice、map、chan(通道用到)

7、接口类型:

interface

8、函数类型:

func

9、类型的零值:

值类型的零值:0;布尔类型的零值:false;string类型的零值:空字符串;引用类型的零值:nil

10、类型最大值和最小值的获得:

导入math包 ep:  int32的最大值math.MaxInt32:,最小值:math.MinInt32, 其他类型同理

11、变量的声明:

情况1:先声明,后面再赋值

注意:必须  var name string  , 不能 var name

name = "lxc"

情况2:全局变量的声明)

可以是:var name string = "lxc" , 或者是 var name string(后面赋值) 再或者是 var name = "lxc" , 绝对不能是 name :=  "lxc"

情况3:变量最简写法

name := "lxc"

12、变量的类型转换:

注意:Go语言中所有的类型转换都必须显示的。 转换只发生在两种相互兼容的类型之间。比如:

var s float32 = 10.11

var ss string = "10.11"

var flag = true

b := int(s)  //10

c := int(ss)  //cannot convert(转换) ss (type string) to type int ,但是可以通过: c,err := strconv.Atoi(ss)

d := int(flag) //cannot convert flag (type bool) to type int

特别注意:

type newInt int  

此时:用newInt和int声明的变量如果之间发生赋值操作,则需要进行显示的转换。

ep:

type newInt int

var age newInt = 10

var num int = 12

age = newInt(num)  //这里必须使用newInt进行显示转换

而:  byte(uint8)和rune(int32)则不需要

13、查看一个变量的类型的方式:

var name string = "lxc"

fmt.Printf("%T", name)  //string

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,259评论 0 6
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,818评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,722评论 19 139
  • 1、随机数 不需要随机数种子 arc4random()%N + begin:产生begin~begin+N的随机数...
    我是小胡胡123阅读 9,760评论 0 2
  • 若你迷茫,谁来照亮方向?——很多人 我曾经有过很多书,它们丰富了我的世界,却让我更迷茫,因为它们都不是经典。在前进...
    请别说我文艺范儿阅读 2,600评论 1 0