好的,所以我一直遇到字符串类型转换为字节写入的困难。这是编译器错误:
不能在函数参数
中使用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如何将行转换为整数?
答案 0 :(得分:3)
如果您在http://play.golang.org/上做了一个完整的示例,那么更容易为您提供完整的解决方案。
ParseInt()接受字符串(你可能需要string(row[5])
),基数(你可能意味着10)和bitsize(你应该把8放在那里)。
它返回一个int(eia),它没有将它放入结构中,因为它看起来像你正在尝试。
取而代之的是if err == nil { v.Eia = eia }
。