map型
package main
import "fmt"
func main() {
m := map[string]int{"apple": 100, "banana": 200}
// 要素全部表示
fmt.Println(m)
fmt.Println(m["apple"])
// 要素追加
m["banana"] = 300
fmt.Println(m)
m["new"] = 500
fmt.Println(m)
// ないものを取り出そうとすると0になる
fmt.Println(m["nothing"])
// boolean型も返す
v, ok := m["apple"]
fmt.Println(v, ok)
// boolean型も返す
v2, ok2 := m["nothing"]
fmt.Println(v2, ok2)
}
出力
API server listening at: 127.0.0.1:4056
map[apple:100 banana:200]
100
map[apple:100 banana:300]
map[apple:100 banana:300 new:500]
0
100 true
0 false
Process exiting with code: 0
byte型
package main
import "fmt"
func main() {
b := []byte{72, 73}
fmt.Println(b)
// stringにキャスト ASCIIコード
fmt.Println(string(b))
c := []byte("HI")
fmt.Println(c)
fmt.Println(string(c))
}
[72 73]
HI
[72 73]
HI
関数
package main
import "fmt"
// 関数
func add(x int, y int) {
fmt.Println("add function")
fmt.Println(x + y)
}
func main() {
add(10, 20)
}
add function
30
複数の戻り値をInt型で返す
package main
import "fmt"
// 返り値を右にかく
func add(x int, y int) (int, int) {
return x + y, x - y
}
func main() {
r1, r2 := add(10, 20)
fmt.Println(r1, r2)
}
30 -10