go语言基础-数据类型
package main
import (
"fmt"
)
/**
强制类型转换
type(value)
复数
c := real + imagi
c := complex(x, y)
real(c)
imag(c)
数组是值类型,切片是指针类型
基于数组创建切片
var sliceName []type = array[:8
sliceName := make([]type, len, cap)
sliceName := []type{...}
append(sliceName, e1, e2,...)
append(sliceName, otherSlice...)
copy(slicedest, slicesrc)
map
mapName := make(map[keyType] valueType, [len])
mapName[k] = v
v, ok := mapName[k]
delete(mapName, k)
if else, for, switch, break [label], continue, goto label
函数:
func functionName(param type) (returnType) {
}
函数名首字母大小写决定了是否是public or private
不定参数:
func funName(args ...type) {
}
funName(args...)
funName(slice[]...)
arg.(type)判断类型
匿名函数和闭包
匿名函数可以直接赋值给一个变量或直接运行
闭包中的变量将被保存
错误处理
error接口, 实现Error() String方法
defer panic recover
defer func() {
}()
*/
func main() {
// 匿名函数
func(str string) {
fmt.Println(str)
}("golang基础-数据类型")
k := 10
// 闭包, i的值被保存
closure := func() func() {
i := 10
return func() {
i = i * k
fmt.Println(i)
}
}()
for ; k < 100; k += 10 {
closure()
}
}