Room A
Beginner
5 mins.
github.com/golang/goにはコンパイラやgofmtをはじめとする各種ツール、標準ライブラリなどが含まれています。その中から、builtin package (src/builtin/) を紹介します。Goを実装している際、エディタやIDEの機能で組み込み型の定義を開いたことがある方は少なくないと思います。そのときにたどり着くのがこのpackageです。
builtin packageは、predeclared identifiers (直訳すると事前に宣言された識別子) が定義されたpackageです。bool, uint8, float64, stringといった組み込み型や、append, lenといった組み込み関数が定義されていますが、その実装はこのpackageには含まれていません。本LTでは、これらの定義がpackage内でどのように書かれているか紹介し、このpackageが存在する理由を簡単に説明します。