packageの中にScopeというフィールドを持っており、そこに値を格納しておける。100}xという変数を利用した電卓のようなことができた。事前に定義しておいた定数を使った電卓go/typesにはConfigという便利オブジェクトがいて、このConfigのCheck()を実行した結果がpackageとなって返ってくる。これを利用して事前に定義しておいた定数を使って計算することもできる(名前から推測できるように色々チェックしてくれる。エラーが発生した場合にはErrorフィールドに渡した関数を呼んでくれる)。値をscopeに格納して利用する事もできる。して利用する場合には以下の様にして書く。言った名前の関数がある。これらは名前からわかるとおり、渡された値が代入可能であるかだったり変換可能であったりを調べられる。フィールドやメソッドを持っているかどうか。これらを使ってASTをparseして変換以外の便利な何かができないかということを考えたりしていた。(例えば、pkg上でメソッドの有無を調べてAST上にdefault実装を付加だったり。01:25go/typesのEval()でリテラルを扱った数値計算のその先Tweet広告を非表示にする関連記事2018-04-08go言語でASTの解析にgo/typesの機能を使うことの威力についてgoはASTの解析が手軽なのが便利。(個人的なコード生成のための環境を作っている。goのファイルのimportな...2018-03-03goのコードの改行の情報はASTには含まれず、token.FileSetに格納されているという話ASTを触る際にコメントの取扱いがだるいと一部で話題ですが。componentという機能を追加した月別アーカイブはてなブログをはじめよう!podhmoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。