今日も朝からウーバーイーツの稼働をしたのですが、単価が300円(通称スリコ)だったので、早々に切り上げてGoの勉強をしました。
今回はGoの変数宣言について書きます。
まず、一番基本的な変数宣言を書くと以下のようになります。
package main
func main() {
var i int = 1
var f64 float64 = 2.5
var s string = "hello"
var t bool = true
}
まず、varを書いて、続けて変数名、型を書きます。
intは整数型、float64は浮動小数点数型、stringは文字列型、boolは論理値型です。
ちなみに、このまま実行すると以下のようなエラーが出ます。
./lesson.go:4:6: i declared but not used
./lesson.go:5:6: f64 declared but not used
./lesson.go:6:6: s declared but not used
./lesson.go:7:6: t declared but not used
Compilation finished with exit code 2
これは、宣言した変数がどこにも使われていないというエラーです。
Goはけっこう厳しくて、こういう細かいところまでエラーが出るんですね。
エラーを出さないようにするために、宣言した変数を以下のようにPrintlnで使ってやります。
package main
import "fmt"
func main() {
var i int = 1
var f64 float64 = 2.5
var s string = "hello"
var t bool = true
fmt.Println(i, f64, s, t)
}
これで、以下のようにそれぞれの変数に入っている値が出力されます。
1 2.5 hello true
Process finished with the exit code 0
これが、Goの基本的な変数宣言と値を代入する書き方です。
次に、同じ型を複数個宣言する方法です。同じ型の場合は、カンマで区切ってまとめて以下のように宣言して代入することができます。
package main
import "fmt"
func main() {
var i, c, d int = 1, 3, 5
fmt.Println(i, c, d)
}
次に、varを省略する方法です。複数のvarを書くのがめんどくさいので、()で括って以下のように書くことでvarを何回も書くのを省略することができます。
package main
import "fmt"
func main() {
var (
i, c, d int = 1, 3, 5
f64 float64 = 2.5
s string = "hello"
t bool = true
)
fmt.Println(i, c, d, f64, s, t)
}
実行すると先ほどと同じ結果が出力されます。
値を代入せずに、以下のように変数だけ宣言すると、デフォルトの値が自動的に代入されますので、これも一応知っておきましょう。
package main
import "fmt"
func main() {
var (
i int
f64 float64
s string
t bool
)
fmt.Println(i, f64, s, t)
}
これを実行すると、以下のようにデフォルトの値が出力されます。
0 0 false
Process finished with the exit code 0
最後に、varと型を省略する方法です。
以下のように、:=で値を代入することでvarと型を省略することができます。
package main
import "fmt"
func main() {
i, c, d := 1, 3, 5
f64 := 2.5
s := "hello"
t := true
fmt.Println(i, c, d, f64, s, t)
}
これを実行すると先ほどと同じように出力されます。
ただし、この省略した書き方は、関数の外では使えないので注意して下さい。関数の外で宣言するなら、最初の基本的な書き方をする必要があります。
ということで、今回はGoの変数宣言と値の代入でした。
0 件のコメント:
コメントを投稿