ProgateでGoを学ぶ【コース2はパッケージ、繰り返し処理】

ProgateでGO

Progate Go言語

この記事ではProgateでプログラミング言語Goのコース2を学んだ内容をまとめていきます。Go言語はあのGoogleが開発したプログラミング言語です。前回のいコースではGo言語の基本的な部分を学びました。
Progateでプログラミング言語GOを学ぶ【コース1は文字列、数値、変数、条件分岐】

それでは学習したことをかいていきたいと思います。

Goのパッケージ

Go言語はグーグルのプログラミング言語であらかじめ標準パッケージというものが用意されていて、その種類は100種類以上にもののぼるそうです。パッケージを使用するにはimport文を使用します。

パッケージ読み込みの書き方は【 import “パッケージ名” 】のように記述します。ここで注意点があって。パッケージを読みこんだら、そのパッケージを必ず使用しないとエラーになるという決まりがあるようです。
またパッケージを使用するには【 パッケージ名.Method() 】のように記述します。パッケージを使用するときのメソッドの先頭文字は大文字ではじめなければならないという決まりがあるようです。

go パッケージ

package main
import "fmt"
func main() {
    fmt.Println("Hello, 世界")
}

fmt.Printfを使って変数展開する

fmt.Printf()は文字列の中に変数展開できる関数です。文字列の中に %s という記号を用いることで変数展開が実現できます。具体的にはfmt.Printf()関数の第一引数に文字列、第二引数以降は埋め込みたい文字を指定します。

【 fmt.Printf(“%s さんこんにちは”, “tanaka”)//tanakaさんこにちは 】というような具合です。

package main
import "fmt"
func main() {
    weather := "晴れ"
    fmt.Printf("今日の天気は%sです",weather );
}

fmt.Printfで文字列に数値を埋め込む

先ほどのはfmt.Print()を使って文字列に文字を埋め込みましたが、数値を埋め込むこともできます。数値を埋め込む場合は %d という記号を使います。
【 fmf.Printf(“%d円”, 1000)//1000円 】のように記述します。

package main
import "fmt"
func main() {
    month := 6
    day := 19
    fmt.Printf("今日は、%d月%d日です", month, day);
}

fmt.Printf()は改行を行ってくれないので、改行させたい場合は文字列に改行文字を記述する必要があります。
改行文字は【 \n 】で表されます。

package main
import "fmt"
func main() {
    name1 := "にんじゃわんこ"
    name2 := "ひつじ仙人"
    name3 := "ベイビーわんこ"
    fmt.Printf("ようこそ、%sさん\n", name1)
    fmt.Printf("ようこそ、%sさん\n", name2)
    fmt.Printf("ようこそ、%sさん\n", name3)
}

Goの繰り返し処理

Goの繰り返し処理はfor文を使います。for文は指定した回数繰り返し処理させるときに使用します。Goのfor文の文法は以下です。

  • for文に()かっこをつかってはいけない
  • 変数定義のところで := を使う必要がある

【 for 変数定義; 条件式; 値の更新 {} 】for文は条件式がfalseになるまで繰り返しされます。Goのfor文の変数定義で := 意外の書き方をするとエラーになります。
【 for i =: 0; i < 5; i++ {} 】このように書く必要があります。

package main
import “fmt”
func main() {
    // 1から100までの整数を出力してください
    for i := 1; i <= 100; i++{
        fmt.Println(i);
    }
}

パッケージ math/rand を使用する

math/randパッケージを使用することでランダムな数字が生成できるようです。

package main
import "fmt"
import "math/rand"
import "time"
func main() {
    rand.Seed(time.Now().Unix())
    for i := 1; i <= 5; i++ {
        fmt.Println(rand.Intn(10))
    }
}

rand.Seed(time.Now().Unix())は毎回違う乱数を生成するための構文でtimeパッケージをインポートする必要があります。

簡単なおみくじアプリ

以下のコードはランダムな数字を三回生成し、switch文を使っておみくじを再現したコードです。

package main 
import "fmt"
import "math/rand"
import "time"
func main() {
    rand.Seed(time.Now().Unix())
    for i := 1; i <= 3; i++{
        fmt.Printf("%d回目のおみくじ結果:", i)
        number := rand.Intn(6)
        switch number {
            case 0:
                fmt.Println("凶です")
            case 1, 2:
                fmt.Println("吉です")
            case 3, 4:
                fmt.Println("中吉です")
            case 5:
                fmt.Println("大吉です")
        }
    }
}

Progateプログラミング言語Goコース2まとめ

Goのコースはコース2で終わりになります。Goはパッケージがたくさんあるのでそのパッケージを使ってプログラミングする感じでしょうか?今回学んだ内容は主に繰り返し処理やパッケージでしたね。まとめると以下のような感じでしょうか

  • パッケージをインポートしたら必ず使う必要がある。
  • パッケージの関数を使うときは関数は大文字
  • for文のカウント変数は := を使って定義する
  • for文に()かっこはつかわない

これでGo入門はおわりです。


Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 49

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 78