少し前からGo言語に興味を持っており、いつか触ろうとしていたが触れていなかった。
ようやく時間に余裕が生まれたので、触ってみることにする。
インストール
Arch Linuxを使っている場合はpacmanから簡単にインストールできる。
pacman -S goプロジェクトの初期化
github.com/5seg/hello-goにgitリポジトリを置く前提で初期化。
~$ go mod init github.com/5seg/hello-go
go: creating new go.mod: module github.com/5seg/hello-goあそんでみる
Hello World
ド定番のHello Worldから。main.goに記述。
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}実行
~$ go run .
Hello World!ちゃんと動く。
Array
Go言語の配列は長さの指定が必要みたい?
package main
import "fmt"
func main() {
var arr [5]int
arr[0] = 1
arr[4] = 100
fmt.Println(arr)
}~$ go run .
[1 0 0 0 100]うーん。と思っていたらスライスというものがあるらしい。
ふむ、makeとcopyを使えば良さそう。
package main
import "fmt"
func main() {
x := 0
var a []int
for i := 0; i < 10; {
x = x+1
backup := a
a = make([]int,i+1)
copy(a,backup)
a[i] = x
fmt.Println(a)
i = i+1
}
}~$ go run .
[1]
[1 2]
[1 2 3]
[1 2 3 4]
[1 2 3 4 5]
[1 2 3 4 5 6]
[1 2 3 4 5 6 7]
[1 2 3 4 5 6 7 8]
[1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9 10]楽しい。ただ、JavaScriptと全然違うので慣れが必要。
今日はここまで。