go基本语法

变量和赋值

在go 语言中声明和赋值是分开的需要两步,也可以写成一步

1
2
3
4
var a int
var b bool
a = 5
b = false

或者写成一步

1
2
a :=5
b :=false

多个var声明可以成组

1
2
3
4
var(
x int
b bool
)

具备相同的类型多个变量可以在一行内完成声明: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
2
3
4
5
6
7
8
对于32位系统
uint=uint32
int=int32
uintptr32位的指针
对于64位系统
uint=uint64
int=int64
uintptr64位的指针

至于类型后面跟的数字8,16,32或是64则表示用来表示这个类型的位不同,位越多,能表示的整数范围越大。

比如对于用N位来表示的整数,如果是有符号的整数,能够表示的整数范围为-2^(N-1) ~ 2^(N-1)-1;如果是无符号的整数,则能表示的整数范围为0 ~ 2^(N-1)。

Go的浮点数类型有两种,float32float64。float32又叫单精度浮点型,float64又叫做双精度浮点型。其最主要的区别就是小数点后面能跟的小数位数不同.

另外Go还有两个其他语言所没有的类型,虚数类型。complex64和complex128。

对于数值类型,其所共有的操作为加法(+),减法(-),乘法(*)和除法(/)。另外对于整数类型,还定义了求余运算(%)

1
2
3
4
5
6
7
8
9
10
11
12
package main

import (
"fmt"
)

func main() {
var a float64 = 12
var b float64 = 3

fmt.Println(a % b)
}