Go类型:只能通过显示类型转换进行类型间转换

bool 只有true和false

××× int8,uint8(byte),int16,uint16,int32,uint32,int64,uint64,int和uint与平台相关

浮点数 float32和float64(相当于c的double)

复数 complex64和complex128

指针类型 uintptr

数组类型[n]int。eg: var arr[10]int

结构体  struct

字符串  string

引用类型 slice,map(类似hash),chan(通道,并发使用)

接口类型 interface

函数类型 func


运算符

^ !                //一元运算符。^:反码(^a=-(a+1))

* / % +-

<< >> &| &^  ^   //二元运算符。a&^b:如果b的某位为1则该位的结果为0否则为a对应的位的值。6&^11=4,6^4=2(规则 0^1=1, 1^0=1, 1^1=0, 0^0=0)

== != < <= > >=

&& ||

< -

var <名称> <类型>
var a int
a = 1
var <名称>[类型] = <表达式> 类型可以省略
var a int = 1
var a = 1
< 名称 > := <表达式> 全局变量不可以省略var,不可以使用该形式
a := 1
var a, b, c, d = 1, 2, 3, 4 //函数中多变量并行声明
a, b, c, d = 1, 2, 3, 4


类型转换
<类型A>[:] = <类型A>(<类型B>)

var a int = 65
b := string(a) //b='A' strconv.itoa(a)="65"

const (
    a = 'A'    //65,此时iota为0
    b           //65
    c = iota    //2,注意iota的特性。
)

const (
    i = 1 << iota   //1
    j = 3 << iota   //6
    k          //k=3<