2017-08-03 3 views
1

文字列に特定の数字が含まれているときにforループを停止しようとしています。唯一の問題は、カウンタに31を加えた後に文字列に値を追加することを停止することです。私はそれが追いつくことができる前に速くなると感じる。私はタスクを完了する別の方法が常にあることを知っているが、私はそれがなぜこれを行うのか理解したいと思うだろう。Golang forループが継続してカウントする

私が達成しようとしているのは、カウンターを高さとして動作させることです。 theSlice = 8およびwebSlicesがリストです。テキスト全体が「高さは1です」と書いてありますので、何の高さを見てカウンターを平等にしようとしています。

コード:

func breakDownSlice(theSlice int, webSlices []string) { 
counter := 0 
done := false 
for done == false { 
    log.Println(webSlices[theSlice]) 
    log.Println(counter) 
    done = strings.Contains(webSlices[theSlice], string(counter)) 
    if done == true { 
     log.Printf("The height is %d", counter) 
    } else { 
     counter++ 
    } 
} 
} 
+0

代わりstrconv.Itoa(counter)を使用することはできませんか? 'webSlices [theSlice]'の価値は? – smarx

+0

Webスライス[theSlice] = 出力「高さが1である」された「高さは1である」と「高さは32である」 それは1で停止しなければならないのに行くが、それは、出力だ場合、それは32 – GoofBall101

+0

まで行きます、これは実行しているコードではありません。私は '%d'フォーマットが' '1-32''をどのように生成するかを見ていません。 – smarx

答えて

1

done = strings.Contains(webSlices[theSlice], string(counter)) 

string(counter)ラインはここで働い、あなたが入力し、あなたが取得している出力を共有することができます

+0

すぐに固定しました。ありがとう – GoofBall101

+0

@ GoofBall101あなたの質問の答えとして私の答えを設定してください –

関連する問題