【Go言語】別packageのstructを埋め込んだら何でアクセスすればいいんです?
メモ
$GOPATH/src/foo/foo.go
package foo type Foo struct{ Bar string }
main.go
package main import "fmt" import "foo" type Buz struct { foo.Foo } func main() { bar := Buz{} fmt.Printf("%+v\n", bar) bar.Foo = foo.Foo{Bar:"otiai10"} fmt.Printf("%+v\n", bar) }
実行結果
% go run main.go {Foo:{Bar:}} {Foo:{Bar:otiai10}}
まとめ
引用元のpackage名は気にせず、struct名だけでアクセスできる
(同名structでもFoo.Fooでアクセスできるっぽい)
DRY