buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

Goはじめた!!

超今更だけど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 を使うと配列のインデックスと要素が簡単に取得できるのでいい!!