3

さて、文字列からバイト書き込みへの型変換に問題がありました。これはコンパイラエラーです:

関数の引数の型文字列としてrow[5](型uint8)を使用できません

関数の引数の型intとして&v(型*フィールド)を使用することはできません

これは行[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が行を整数に変換する方法を誰かに説明してもらえますか?

4

1 に答える 1

3

http://play.golang.org/で完全な例を作成した場合は、完全なソリューションを提供する方が簡単です。

ParseInt()は、文字列(実行する必要がある場合がありますstring(row[5]))、ベース(おそらく、10を意味します)、およびビットサイズ(8を配置する必要がある場所)を取得します。

int(eia)を再調整しますが、試行しているように見えるため、構造体には入れません。

代わりにif err == nil { v.Eia = eia }

于 2013-03-25T21:18:30.200 に答える