随笔

Golang

变量

var name [:string] = “小明”
name2 := "小红"

 * string 类型变量自身不可变 *
错误类型: err := errors.New("xxxxxxx");
err != nil

数组
var arr [10]int
arr2 := [2]int{1, 2}
arr3 := [...]int{4, 5, 6}

slice := []int {1, 2, 3}

dict := map[string]float32{"v1":1.0, "v2":1.1}
item, ok := dict["v2"]

OOP

类转变为 struct
同样也有 interface 接口也比较奇怪,就当它是约定配置吧 说什么,实现了接口的所有方法,就代表实现了该接口
总之,它是那么说的

指针

之前听说 C 里面的指针很难
今天看了下 Golang
一股引用传值的即视感...

交叉编译

系统类型(GOOS): mac -> darwinbsd -> freebsdlinuxwindows
机器架构:(GOARCH): 386amd64arm

// 树莓派是 arm 架构的, 所以要用第二条语句
// CGO 技术让 Go 和和 C 交互, 不支持交叉编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=arm GOARCH=arm go build main.go

其他

需要 IDE
否则,你根本不知道某个东西从哪里来的

本文链接:https://note.lilonghe.net/post/golang-basic.html

-- EOF --