为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 从文件中读取数据并指出缺失值

Golang 从文件中读取数据并指出缺失值

Go
Smart猫小萌 2021-08-10 10:47:49
我正在解析一个包含整数值的 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

}


查看完整回答
反对 回复 2021-08-10
  • 1 回答
  • 0 关注
  • 264 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信