foreach变量
错误代码
for _, v := range histories {
InsertByHistory(&v)
}
正确代码
for _, v := range histories {
h := v
InsertByHistory(&h)
}
笔记
如以上代码,传递指针时必须声明一个新变量存储v
,否则会导致传递给函数的是histories
最后一个元素的首地址
for _, v := range histories {
InsertByHistory(&v)
}
for _, v := range histories {
h := v
InsertByHistory(&h)
}
如以上代码,传递指针时必须声明一个新变量存储v
,否则会导致传递给函数的是histories
最后一个元素的首地址