Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105

Go言語入門 3回 (for文などの基本記述編)A Tour Of Go

Golang, 開発Go-lang


Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105

自分の開発や他の言語の勉強をする時間の確保ができずに、投稿の頻度が落ちていますが、Golangでの記述になれて早く開発ができるようになればということで今回も基本的なことになりますが、A Tour Of Go をやって知ったことをまとめていきます。

forループ

様々な言語で使われているforループになります。Goでは()を使った記述とは少し異なります。

  • 初期化ステートメント: 最初のイテレーション(繰り返し)の前に初期化が実行されます
  • 条件式: イテレーション毎に評価されます
  • 後処理ステートメント: イテレーション毎の最後に実行されます

条件式の評価が false となった場合にイテレーションを停止します

package main

import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}
}

iが0から9までの数値を出力するコードになります。

無限ループ

package main

import "fmt"

func main() {
	sum := 1
	for {
		if(sum > 1000){
			break
		}
		sum += sum
	}
	fmt.Println(sum)
}

上のコードでは,無限ループをしています。sumの値が1000を超えたときに、forループから抜けて、その時の値を出力するものになっています。

if文もカッコが不要に

package main

import "fmt"

func main() {
	sum := 1
	for {
		if sum > 1000 {
			break
		}
		sum += sum
	}
	fmt.Println(sum)
}

先程の無限ループのときのコードとほぼ同じですが、if文でカッコをなくした記述で同様の処理を行うことができます。

switch文

if-elseステートメントの文を短く書く方になります

package main

import (
	"fmt"
	"runtime"
)

func main() {
	fmt.Print("Go runs on ")
	switch os := runtime.GOOS; os {
	case "darwin":
		fmt.Println("OS X.")
	case "linux":
		fmt.Println("Linux.")
	default:
		// freebsd, openbsd,
		// plan9, windows...
		fmt.Printf("%s.", os)
	}
}