dounai6626 2017-08-03 04:34
浏览 528
已采纳

Golang for循环继续计数

I am trying to make a for loop stop when a string contains a certain numeral. The only problem is it stops adding value to the string after adding 31 to the counter. I feel it is going to fast before it can play catch up. I know there's always another way to complete the task but I would just want to understand why it does this.

What I'm trying to accomplish is having the counter act as the height. The theSlice = 8 and webSlices is a list. The whole text says "Height is a 1" so I am trying to see what number is the height and make counter equal that.

Code:

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++
    }
}
}
  • 写回答

1条回答 默认 最新

  • drmg17928 2017-08-03 04:43
    关注

    the line

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

    string(counter) can't work here, use strconv.Itoa(counter) instead

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?