/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

Golang勉強

step01

$ go build -v -o test

というコマンドラインがあって、「この-v-oというオプションが何のか」というのが気になったので調べた。

結果は以下。

オプション 意味
-v コンパイルされるパッケージ名を出力
-o 出力ファイル名を指定

-oオプションは、出力ファイル名を指定。指定しないとbuild対象を含むベースのディレクトリの名前となる。

パッケージ名は、go.modに書いてあるものが出力されるのかな?

 

step02

変数の宣言

 var category string

その変数にコマンドプロンプトから値を受け付けて、変数に格納する

 fmt.Scan(&category)

ポインターを使う。

ポインターについてはこの辺もあわせてみるとよい。

Go言語におけるポインタのアンパサンド(&)とアスタリスク(*)の違い - Qiita

 

その他として、Printlnは改行して表示、Printfは改行なしで表示。

 

step03

構造体を定義する。

type Item struct {
    Category string
    Price int
}

代入方式として、:=っていうのがある。

item := inputItem()

関数を呼び出していて、その戻り値の型(今回で言うとItem)をそのままitemに使うという意味。

以下のようにも書き換えられるが、省略形のほうがかっこいいよね。

 var item Item
    item = inputItem()

 

参考サイト

go - GoDoc