読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

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

実際のところ

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