说我想改变数组中所有对象的值。 我喜欢范围语法不仅仅是命名为循环。转:您可以使用范围与切片,但获得参考? (迭代)
所以,我想:
type Account struct {
balance int
}
type AccountList []Account
var accounts AccountList
...
....
// to init balances
for _,a := range(accounts) {
a.balance = 100
}
的是,由于没有工作距离为accountList条目的副本,因此,我们只更新副本。
这不会因为我需要它的工作:
for a := range(accounts) {
accounts[a].balance = 100
}
但是,代码有内部的一个额外的查找for循环。
有没有办法做一个迭代器,获取对AccountList中的结构的引用?
是否有理由'AccountList`不能是`[] * Account`? – mkb 2011-02-09 18:26:28