自前のパッケージを読み込む方法です。
実際のところ
以下のようなディレクトリ構造だったとします。
完全ローカルでも、一応github用ディレクトリの中に作ってます。
何が有るかわからんしね……
$ cd $GOPATH/src/github.com/shuzo_kino/mysamples $ tree -L 2 . . ├── hoge │ └── hoge.go └── main.go
"hoge/hoge.go"は以下の通り。
外部からアクセス要素の場合、大文字で書き始めます。
package hoge import ( "fmt" ) type MyType struct { Num int Body []byte } func (mt *MyType) String() string { return fmt.Sprintf("%d::%s\n", mt.Num, mt.Body) }
本体のmain.goはこんな感じ。
面倒でも、$GOPATH以下の奴を書いといた方が後々楽です。
package main import ( "github.com/shuzo_kino/mysamples/hoge" "fmt" ) func main() { p := &hoge.MyType{39,[]byte("sun")} fmt.Printf("%v\n", p.String()) }
実行すると、こんな感じ
$ go run main.go 39::sun