键入string转换为int

时间:2013-03-25 20:44:07

标签: go

好的,所以我一直遇到字符串类型转换为字节写入的困难。这是编译器错误:

  

不能在函数参数

中使用row [5](类型uint8)作为类型字符串      

不能在函数参数

中使用& v(类型*字段)作为int类型

这是行[5]的一个例子:$ 15,000.00

我宣布了一个结构:

type Field struct {
Eia uint8
}

这是主要的实现:

for {
    record, err := reader.Read()
    if err == io.EOF {
        break
    } else if err != nil {
        panic(err)
    }

    var v Field
    for _, row := range record {
        eia, err := strconv.ParseInt(row[5], 8, &v) // Estimated Incoming Amount
        if err == nil {
            fmt.Printf("%+v\n", v)
        } else {
            fmt.Println(err)
            fmt.Printf("%+v\n", v)
        }

任何人都可以向我解释一下strconv如何将行转换为整数?

1 个答案:

答案 0 :(得分:3)

如果您在http://play.golang.org/上做了一个完整的示例,那么更容易为您提供完整的解决方案。

ParseInt()接受字符串(你可能需要string(row[5])),基数(你可能意味着10)和bitsize(你应该把8放在那里)。

它返回一个int(eia),它没有将它放入结构中,因为它看起来像你正在尝试。

取而代之的是if err == nil { v.Eia = eia }