变量和赋值
在go 语言中声明和赋值是分开的需要两步,也可以写成一步
1 | var a int |
或者写成一步
1 | a :=5 |
多个var声明可以成组
1 | var( |
具备相同的类型多个变量可以在一行内完成声明:var x,y int 让x 和 y 都是
int 类型变量。同样也可以平行赋值
1 | a,b := 20,16 |
这样让a和b的值分别是20和16
一些特殊的变量名是_(下划线)。标示任何赋值给他的都会抛弃掉。
例如:
1 | _,b :=1,2 |
这样抛弃掉1 把b赋值为2.
数字类型(Number)
数值类型有三种,一种是整数类型
,另外一种是浮点型
,
还有一种是虚数类型
。正整数和零统称为: 无符号整型
,
而负整数称为: 有符号整型
。
无符号类型能够表示正整数和零。而有符号类型除了能够表示正整数和零外,还可以表示负整数。
另外还有一些别名类型,比如byte类型,这个类型和uint8是一样的,表示字节类型。另外一个是rune类型,这个类型和int32是一样的,用来表示unicode的代码点,就是unicode字符所对应的整数。
Go还定义了三个依赖系统的类型,uint,int和uintptr。因为在32位系统和64位系统上用来表示这些类型的位数是不一样的。
1 | 对于32位系统 |
至于类型后面跟的数字8,16,32或是64则表示用来表示这个类型的位不同,位越多,能表示的整数范围越大。
比如对于用N位来表示的整数,如果是有符号的整数,能够表示的整数范围为-2^(N-1) ~ 2^(N-1)-1;如果是无符号的整数,则能表示的整数范围为0 ~ 2^(N-1)。
Go的浮点数类型有两种,float32
和float64
。float32又叫单精度浮点型,float64又叫做双精度浮点型。其最主要的区别就是小数点后面能跟的小数位数不同.
另外Go还有两个其他语言所没有的类型,虚数类型。complex64和complex128。
对于数值类型,其所共有的操作为加法(+),减法(-),乘法(*)和除法(/)。另外对于整数类型,还定义了求余运算(%)
1 | package main |