第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試將 csv 字符串封送到結(jié)構(gòu)中

嘗試將 csv 字符串封送到結(jié)構(gòu)中

Go
明月笑刀無情 2022-08-15 10:47:54
這是我的程序:package mainimport (    "fmt"    "log"    "github.com/gocarina/gocsv")// GeoAdresseCsv is a test structcd type GeoAdresseCsv struct {    ID    int    `csv:"id"`    IDBan string `csv:"id_ban"`}func main() {    var adresseDB []GeoAdresseCsv    stringCsv := `id;id_ban    2908743;28009_0019_00008`    err := gocsv.UnmarshalString(stringCsv, &adresseDB)    if err != nil {        log.Fatal(err)    }    fmt.Printf("%+v\n", adresseDB)}但是我得到的輸出是:[{用戶名:0IDBan:}]我應(yīng)該如何正確地將我的csv字符串正確映射到我的結(jié)構(gòu)?
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經(jīng)驗 獲得超6個贊

雖然數(shù)據(jù)中的分隔符是 ,但包默認(rèn)使用 。;,


因此,我們需要將包配置為使用不同的分隔符。根據(jù)文檔,這可以通過可自定義的CSV閱讀器實現(xiàn):


gocsv.SetCSVReader(func(in io.Reader) gocsv.CSVReader {

    r := csv.NewReader(in)

    r.Comma = ';' // This is our separator now

    return r

})  

這將配置包中的所有功能。


您的代碼應(yīng)如下所示以包含更改:


package main


import (

    "encoding/csv"

    "fmt"

    "io"

    "log"


    "github.com/gocarina/gocsv"

)


// GeoAdresseCsv is a test structcd

type GeoAdresseCsv struct {

    ID    int    `csv:"id"`

    IDBan string `csv:"id_ban"`

}


func main() {

    gocsv.SetCSVReader(func(in io.Reader) gocsv.CSVReader {

        r := csv.NewReader(in)

        r.Comma = ';' // This is our separator now

        return r

    })


    var adresseDB []GeoAdresseCsv

    stringCsv := `id;id_ban

    2908743;28009_0019_00008`


    err := gocsv.UnmarshalString(stringCsv, &adresseDB)

    if err != nil {

        log.Fatal(err)

    }

    fmt.Printf("%+v\n", adresseDB)

}

現(xiàn)在輸出是預(yù)期值:


[{ID:2908743 IDBan:28009_0019_00008}]

您可以在此處在線運行它。


查看完整回答
反對 回復(fù) 2022-08-15
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號