Go
code:terminal
asdf list all golang
asdf install golang 1.17.6
asdf local golang 1.17.6 // .tool-version will be created
go vet
基本は先頭を大文字にしない
How to start project
main.go をつくれば ok
goenv local 1.16.0
formatter
1.13 以降はデフォルトでオン
それ以前は GO111MODULE 環境変数を設定する
vendor
vendor ないの module を触って debug するときは
code:terminal
$ go run -mod=vendor main.go
goroot, gopath
goroot は パッケージなどのインストール先で異なる go のバージョンを使う場合に使われる?
gopath はプロジェクトの配置先
Projects
Tips
構造体の初期化は、フィールド名も明示する
構造体のフィールドが増えたときに、フィールド名がついていない場合コンパイルされない?
struct を omit するには nil にする
配列
len 0、nil なら消える?
中の要素が nil であることと len は関係ない?
値を 0 で初期化すればいいかもしれない
struct の初期化???
code:main.go
type Employee struct {
name: string
}
var tom Employee
alice := Employee{}
tom.name = 'Tom'
alice.name = 'Alice'