カテゴリー:
学習
閲覧数:308 配信日:2018-05-01 23:11
goファイル確認
$ cd src/
$ ls -l
合計 1980
drwxrwxr-x 3 ★★ ★★ 39 5月 1 09:15 20180501
-rwxrwxr-x 1 ★★ ★★ 2020012 4月 25 11:14 hello
-rw-rw-r-- 1 ★★ ★★ 77 4月 25 11:11 hello.go
$ cd 20180501/
$ ls -l
合計 2060
drwxrwxr-x 2 ★★ ★★ 17 5月 1 09:20 b
-rwxrwxr-x 1 ★★ ★★ 2105323 5月 1 09:15 main
-rw-rw-r-- 1 ★★ ★★ 120 5月 1 09:11 main.go
$ ./main
2018/05/01 23:13:01 Hello func a
2018/05/01 23:13:01 Hello func b
go run
自動的にコンパイル・実行するコマンド
・「go run hoge.go」でプログラム実行することができるが、go buildのようにカレントディレクトリ以下の全ファイルを読み込むわけではない
$ go run main.go
2018/05/01 23:13:27 Hello func a
2018/05/01 23:13:27 Hello func b15
ビルド対象から外す
$ vi b/b.go
// +build ignore
package b
import "log"
func B() {
log.Print("Hello func b15")
}
$ go build
main.go:3:8: local import "./b" in non-local package
ダメじゃん!・buildせず import出来るのかと思ったよ
go buildにはC言語のようにファイルごとにオブジェクトを作成しておいて、変更があったファイルのみ差分コンパイルする仕組みがありません。
つまりGoは必ず1つのパッケージ内では複数ファイルを同時にコンパイルして、ライブラリを作成するまでが仕様になっています。
・何れにしてもコンパイルは必要みたい
・Go Binary Hacks - go buildせずにビルドする #golang
・GoのBuild Constraintsに関するメモ
・あー、もー、分からない
・もういいわ
・goファイル内容変更する度、「go build」して、CentOS7サービスヘ登録した内容を再起動すればいいんやろ
・超面倒くさいわ。Go!
GOPATHについて - はじめてのGo言語