Go 1.12 Release Party attendee report
gocon.connpass.com に参加した際の発表とその際のtwitterのTLから参考になったことを雑にまとめてます。
Go 1.12
Go1.12 changes
- TLS1.3 support
- use
godoc
instead ofgo doc
- go tool vetがなくなり、go vetを使用するようになった
Creating a lint tool with analysis
- Creating a lint tool with analysis
- presented by @knsh14
- analysis package
- Circulation complexity(循環複雑度)を測定するツール
- analysis packageを使うスケルトンコード生成ツールが便利
- testing code
- how to learn analysis package
- GoDoc
- blogs
- by @tenntenn
- by @budougumi0617
- See: ソフトウェアデザイン 2019年3月号
Go Modules
- presented by @budougumi0617
- previous version manegement
- go get
- 3rd party tool (dep, glide)
- semantic versioning
- GOPATH mode
- same as older than 1.10
- 標準pkg以外GOPATH以下で管理
- module-aware mode
- モジュールとして管理
- 任意のディレクトリで可能
- go mod command
- test case(cmd/go/testdata/script)から使い方・挙動が理解できる
- go modのバイナリは、$GOPATH/pkg/mod/以下にcache
- CI
other references
Goならわかるシステムプログラミング改訂のお知らせ
- Goならわかるシステムプログラミング改訂のお知らせ
- presented by @shibu_jp
- Go 1.7 -> Go 1.12
- コンパイラの改善により、。小さく速いバイナリが早く生成できるように
- ...etc
- Go1.xの互換性維持の方針により書籍への影響は多くない
- 改訂版
- Go1.12 についても言及している初の書籍
- HTTP/3についても触れている
Go language serverを理解する
- presented by @monochromegane
- Language Server Protocol
- https://langserver.org/
- https://microsoft.github.io/language-server-protocol/
- auto completeなどのlanguage featuresを提供
- LSP Specification
- version 3.x
- consist of Header and Content part
- Go language server
- goplsを触って理解する