Open8
A Tour of Goをやったメモ
ローカルでやろうと思ったが、勉強したあとを残せそうではないので、クラウド版でやることにする
https://go-tour-jp.appspot.com/basics/5
関数の2つ以上の引数が同じ型である場合には、最後の型を残して省略して記述できます。
そのため、このようなこともできた
package main
import "fmt"
func add(x, y int, z, a string) int {
fmt.Println(z + a)
return x + y
}
func main() {
fmt.Println(add(10, 13, "a", "a"))
}
https://go-tour-jp.appspot.com/basics/6
関数は複数の戻り値を返すことができます
そのため、型違う複数の戻り値も返すことができた
package main
import "fmt"
func swap(x string, y int) (string, int) {
return x, y
}
func main() {
a, b := swap("hello", 4)
fmt.Println(a, b)
}
Named return values
https://go-tour-jp.appspot.com/basics/7
使い所が凄く限られそうだ
Zero values
https://go-tour-jp.appspot.com/basics/12
以下のように、初期値が入ってないと
package main
import "fmt"
func main() {
var b bool
var s string
fmt.Printf("%v %q\n", b, s)
}
b 文字列(string) -> "" 空文字列
s 真偽(bool) -> false