我正在解析一个包含整数值的 csv 文件,其中一些可能会丢失:1,2,31,2,1,2,3在我的代码中,我用数据填充了一个结构:type Line struct { One *int Two *int Three *int}我目前处理缺失值的猜测是使用指向 an 的指针int来显示值是否缺失:// if nil, then no value in filel := &Line{}// read and parse...l.Three = nil但是,使用这种方法会使评估变得*int麻烦:l := &Line{}// NOT POSSIBLE, NOT COMPILING (cannot use 5 (type int) as type *int in assignment)l.One = 5// FEELS WRONG, BUT WORKStmpInt := 5l.One = &tmpInt如何处理缺失的整数值?
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
您可以使用一个函数Line{}从[]string一个简单的示例构建您的:
func NewLine(s []string) (l *Line) {
fmt.Println(len(s))
if len(s) < 2 {
return
}
l = &Line{}
if i, err := strconv.Atoi(s[0]); err == nil {
l.One = &i
}
if i, err := strconv.Atoi(s[1]); err == nil {
l.Two = &i
}
if len(s) == 3 {
if i, err := strconv.Atoi(s[2]); err == nil {
l.Three = &i
}
}
return
}
- 1 回答
- 0 关注
- 264 浏览
添加回答
举报
0/150
提交
取消