Я новичок в языке Go и задавался вопросом, почему следующий фрагмент кода не работает;Переменная GoLang in for loop undefined outside
package main
import (
"fmt"
)
func main() {
for i := 0; i < 10000; i++ {
var randomString = fmt.Sprintf("a%sa\n", "test")
}
fmt.Printf("Made 10000 random strings like", randomString);
}
Я удалил некоторый не имеющий отношения код (поскольку это, очевидно, не является случайным).
Проблема, с которой я сталкиваюсь, заключается в том, что как раз под циклом for, «randomString» не определен.
Я пробовал установить его с помощью randomString := fmt.Sprintf()
и с var, который вы видели выше.
Я вполне уверен, что это проблема определения области (переменная randomString не входит в область вне цикла for), но, как разработчик PHP/JS, я не привык к этому и сказал бы, что переменная также доступна после цикла for.
Как я могу получить доступ к этой переменной из этой точки? В основном просто отображается последняя сгенерированная строка.
Ах! Это было так очевидно, что я этого не видел. Отлично, спасибо :) –
И действительно, я забыл% s в отформатированной строке. Но Println хорошо работает и для этого. –