Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

自前のパッケージを読み込む

自前のパッケージを読み込む方法です。

実際のところ

以下のようなディレクトリ構造だったとします。
完全ローカルでも、一応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