パッケージとか

やっとGo言語さわれそうになってきたのでちょっとずつ触ってみてます。
で、言語仕様とかはわかってきたのだけど、ソースコードの分割方法がわからなくて試したり調べたりして多分理解したと思うのでメモを。

でいいのかな?

$ ls -F
asdf/ main.go
$ ls asdf/
hjkl.go zxcv.go
$ cat main.go
package main

import (
	"./asdf"
)

func main() {
	qwerty.Zzz()
  qwerty.Foobar()
}
$ cat asdf/hjkl.go
package qwerty

import (
	"fmt"
)

func Zzz() {
	fmt.Println("Zzz...")
}
$ cat asdf/zxcv.go
package qwerty

import (
	"fmt"
)

func Foobar() {
	fmt.Println("Foobar...")
}

という感じ。ちなみにhjkl.goかzxcv.goのpackage名がちょっとでも変わるとビルド時に怒られる。


ディレクトリ名でimportしてパッケージ名でアクセスってのがちょっと引っかかるけど、
まあ慣れれば別に気にならないのかな。


http://golang.jp/go_faq#Packages_Testingに書いてあった……