人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Go言語について質問です。

Eachのループを途中でbreakさせたいのですが、そのような仕組みは用意されていますでしょうか。
JavaScriptでは「return false」とすればbreakできますが、golangでも同様のことができないかと考えています。

●質問者: hogesuke
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ゆっくりしない
●100ポイント

Eachというのはrangeを使ったforのことでしょうか? それならばbreakとするだけでループを抜けることができますが…
Eachというのがrangeを使ったforだとするとこのようになります

package main

import "fmt"

func main() {
array := [...]int{1, 2, 3, 4, 5}
for num, _ := range array {
if num == 3 {
break
}
fmt.Println(num)
}
}

hogesukeさんのコメント
ありがとうございました。

2 ● gizmo5
●100ポイント

他の言語のように関数から脱出する return や、制御構造から脱出する break は、Go言語でもサポートされています。

http://golang.jp/effective_go#control-structures

下はGo言語における単純なifステートメントです。

if x > 0 {
 return y
}

http://golangtutorials.blogspot.jp/2011/06/control-structures-go-for-loop-break.html

package main

import "fmt"

func main() {
 i := 0
 for { //since there are no checks, this is an infinite loop
 if i >= 3 { break } //break out of this for loop when this condition is met
 fmt.Println("Value of i is:", i)
 i++;
 }
 fmt.Println("A statement just after for loop.") 
}

hogesukeさんのコメント
ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ