1

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++
    }
}
}
3
  • Can you share input and the output you're getting? What's the value of webSlices[theSlice]? Commented Aug 3, 2017 at 4:40
  • webSlices[theSlice] = "Height is a 1" Output is "The height is 1" and goes on to "The height is 32" It should stop at 1 but it goes till 32. Commented Aug 3, 2017 at 4:44
  • If that's the output, then this can't be the code you're running, right? I don't see how the %d formatting could produce 1-32. Commented Aug 3, 2017 at 4:45

1 Answer 1

1

the line

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

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

Sign up to request clarification or add additional context in comments.

1 Comment

@GoofBall101 then set my answer as the answer of your question please

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.