超今更だけどGo始めてみる!
爆速HelloWorld!
まずはmacにGoをインストール
brew install go
ビルドができるように環境設定を変更(何を変更したのかは今は知らなくていい)
go env -w GO111MODULE=off
ワークスペースにhello.goを作成して以下を書く
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
hello.goがあるディレクトリでビルド・実行!
build go go run hello.go
これで hello, world
と表示される!!(いい調子!)
標準モジュールを使ってみる
A Tour of Goの最初の方をざっと読んだので多分書ける!!
AdventCalendar参加者と記事、投稿日を標準出力に表示します
package main import "fmt" // 記事struct type Aritcle struct { author string title string postDate string } func main() { article1 := Aritcle{"buto", "Python 音声ファイルの周波数を取得する", "12/8"} article2 := Aritcle{"ys2896", "MySQLのAurora化でMyISAMがなくなって苦戦した話", "12/9"} article3 := Aritcle{"yugi0922", "AWSソリューションアーキテクトアソシエイト(SAA) 合格(予定)体験記", "12/12"} article4 := Aritcle{"sugiyama_yuta", "DockerでのLaravel×Reactの環境構築について書きます", "12/24"} adventCalendar := [4]Aritcle{article1, article2, article3, article4} for i, article := range adventCalendar { fmt.Printf("AdvendCalendar参加者 %d人目: %s\n", i+1, article.author) fmt.Printf("%s %s\n", article.postDate, article.title) fmt.Println("******************************") } }
これを go run
すると…
AdvendCalendar参加者 1人目: buto 12/8 Python 音声ファイルの周波数を取得する ****************************** AdvendCalendar参加者 2人目: ys2896 12/9 MySQLのAurora化でMyISAMがなくなって苦戦した話 ****************************** AdvendCalendar参加者 3人目: yugi0922 12/12 AWSソリューションアーキテクトアソシエイト(SAA) 合格(予定)体験記 ****************************** AdvendCalendar参加者 4人目: sugiyama_yuta 12/24 DockerでのLaravel×Reactの環境構築について書きます ******************************
おお〜できました!range
を使うと配列のインデックスと要素が簡単に取得できるのでいい!!