Go学习--基本类型

2016-10-30  本文已影响0人  liuxuech

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

上一篇下一篇

猜你喜欢

热点阅读