Skip to content

cpp0302/method-generator-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

method-generator-exapmle

はじめに

このリポジトリは以下のQiitaの記事ののために作成したサンプルです。

[Go] ソースコードを静的解析してコードを自動生成する

実際にコード生成ができる状態にしてありますので、クローンして実際にコード自動生成を試してみてください。

コード自動生成

以下のコマンドを実行するとコードを自動生成します。

go generate gen/genmethods.go

上記を実行すると、pkgパッケージ配下にある構造体(typeで型定義したもののみ)を探し出し、その構造体にPrintTypeメソッドを追加するコードを生成します。

生成したコードはpkg/method_gen.goに出力されます。既存のpkg/method_gen.goを消したり、構造体を増やしたりした状態でコードを自動生成してみてください。

実行方法

以下でサンプルプログラムを実行可能です。自動生成したメソッドを呼ぶだけのプログラムです。

go run cmd/main.go

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages