株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

for

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        if i == 3 {
            fmt.Println("continue")
            // ループ内のcontinue以降は実行されず、次のループへ行く
            continue
        }

        if i > 5 {
            fmt.Println("break")
            // ループ終了
            break
        }
        fmt.Println(i)
    }

    // 省略版
    sum := 1
    for sum < 10 {
        sum += sum
        fmt.Println(sum)
    }
    fmt.Println(sum)
}
0
1
2
continue
4
5
break
2
4
8
16

range

  • 要素数分ループ
package main

import "fmt"

func main() {
    l := []string{"python", "go", "java"}

    for i := 0; i < len(l); i++ {
        fmt.Println(i, l[i])
    }

    // 短縮版 lの中身のインデックスを入れてくれる
    for i, v := range l {
        fmt.Println(i, v)
    }

    // vだけ使いたい場合
    for _, v := range l {
        fmt.Println(v)
    }

    // map型
    m := map[string]int{"apple": 100, "banana": 200}

    for k, v := range m {
        fmt.Println(k, v)
    }

    // keyだけ取り出す
    for k := range m {
        fmt.Println(k)
    }

    // valueだけを取り出す
    for _, v := range m {
        fmt.Println(v)
    }
}
0 python
1 go
2 java
0 python
1 go
2 java
python
go
java
apple 100
banana 200
apple
banana
100
200

switch文

package main

import "fmt"

func getOsName() string {
    return "windows"
}
func main() {
    // os := "windows"
    os := getOsName()
    switch os {
    case "mac":
        fmt.Println("Mac")
    case "windows":
        fmt.Println("Windows")
        // defaultなくても大丈夫
    default:
        fmt.Println("Default")
    }
}
Windows
package main

import (
    "fmt"
    "time"
)

func getOsName() string {
    return "linux"
}
func main() {
    // switch文の中だけ変数が有効 短縮版
    switch os := getOsName(); os {
    case "mac":
        fmt.Println("Mac")
    case "windows":
        fmt.Println("Windows")
    default:
        fmt.Println("Default", os)
    }

    // timeオブジェクトのメソッド部分も利用できる
    t := time.Now()
    fmt.Println(t.Hour())
    switch {
    case t.Hour() < 12:
        fmt.Println("Morning")
    case t.Hour() < 17:
        fmt.Println("Afternoon")
    }
}
Default linux
8
Morning

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)