if else switch case default fallthrough
for range
new make len cap append delete copy close panic recover
go select defer
return goto break continue
complex imag real
map chan func interface
package import var const type struct
print println
case 满足条件时,强制进入下一个case;
可遍历的类型有:slice(i,t),array(i,t),map(k,v),string(i,rune),chan(i,t)
返回指针
申请内存,slice(len,cap),map(cap),chan(cap)
make 语法:
s := make([]T,s_len,s_cap)
len(s) = s_len
cap(s) = s_cap
m := make(map[T1]T2,m_cap)
len(m) <> m_cap
// cap(m) is wrong.
c := make(chan T,c_cap)
len(c) <> c_cap
cap(c) = c_cap
m := make(map[string]bool, 10)
m["map-key1"] = true
fmt.Println(len(m)) // 1
c := make(chan bool, 9)
c <- false
c <- true
fmt.Println(len(c), cap(c)) // 2 9
往slice里续写,若cap(slice)>len(slice)
, len(slice)
会+1;
否则,会扩容:cap增加(2倍,但不是无限2倍扩容)
,len(slice)增加1
删除map里的某个值
1 基本类型
bool
byte int8
complex(64|128) real imga
error
float(32|64)
rune
string
u?int(8|16|32|64)?
int int32
uintptr
2 其他类型
struct
map
slice|array
interface
func
var i int
j := 1