前
func getCount() int {
var count int
for i := 0; i < 10; i++ {
count++
}
fmt.Println("getCount:", count)
return count
}
func main() {
for i := 0; i < getCount(); i++ {
fmt.Println("count:", i)
}
}
后
count := getCount()
for i := 0; i < count; i++ {
// do something
}
for range获取值
前
func main() {
persons := []struct {
no int
}{
{no: 1},
{no: 2},
{no: 3},
}
for _, s := range persons {
s.no += 10
}
fmt.Println(persons)
personsLen := len(persons)
for i := 0; i < personsLen; i++ {
persons[i].no += 100
}
fmt.Println(persons)
}
后
func main() {
persons := []struct {
no int
}{
{no: 1},
{no: 2},
{no: 3},
}
for i := range persons {
persons[i].no += 10
}
fmt.Println(persons)
personsLen := len(persons)
for i := 0; i < personsLen; i++ {
persons[i].no += 100
}
fmt.Println(persons)
}