2017-08-03 86 views
1

我想在字符串包含某个数字时进行循环停止。唯一的问题是,在向计数器添加31之后,它会停止向字符串添加值。我觉得它会赶上之前,赶上赶上。我知道总有一种方法可以完成任务,但我只想了解为什么要这样做。Golang for循环继续计数

我想要完成的是让柜台充当高度。 theSlice = 8webslices是一个列表。整个文字说“身高是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

你能共享输入和你得到的输出? 'webSlices [theSlice]'的价值是什么? – smarx

+0

源剪辑[theSlice] =“高度为1” 输出为“高度为1”,接着为“高度为32” 它应该在1停下,但不言而喻,直到32 – GoofBall101

+0

如果是这样的输出,那么这不可能是你正在运行的代码,对吧?我没有看到'%d'格式如何产生'1-32'。 – smarx

回答

1

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

string(counter)不能在这里工作,用strconv.Itoa(counter)代替

+0

是的,马上修好了。谢谢 – GoofBall101

+0

@ GoofBall101然后设置我的答案作为你的问题的答案,请 –