使用GoGoCSV以Shift_JIS编码和CRLF换行符创建CSV文件

请针对下面的信息进行汉语的翻译:

ソース

package main

import (
    "encoding/csv"
    "fmt"
    "io"
    "os"
    "time"

    "golang.org/x/text/encoding/japanese"
    "golang.org/x/text/transform"

    "github.com/gocarina/gocsv"
)

const layout = "20060102150405"

type User struct {
    Name string `csv:"名前"`
    Mail string `csv:"メール"`
    Age  string `csv:"age"`
}

func main() {
    var users []*User
    users = append(users, &User{
        Name: "ほげ",
        Mail: "hoge@example.com",
        Age:  "21",
    })

    gocsv.SetCSVWriter(func(out io.Writer) *gocsv.SafeCSVWriter {
        writer := csv.NewWriter(transform.NewWriter(out, japanese.ShiftJIS.NewEncoder()))
        writer.UseCRLF = true
        return gocsv.NewSafeCSVWriter(writer)
    })

    now := time.Now()
    file, err := os.OpenFile(now.Format(layout)+".csv", os.O_CREATE|os.O_WRONLY, os.ModePerm)
    if err != nil {
        fmt.Println(err)
    }
    defer file.Close()

    gocsv.MarshalFile(&users, file)
}

请在以下内容中对其进行同义短语替换,仅需提供一种选项:

参考

    • Go CSV

 

    • encoding/csv/#Writer

 

    • os/#pkg-constants

 

    • os/#FileMode

 

    • time/format.go

 

    • gocsvを使ってラクにCSVファイルをつくる

 

    golang.org/x/text/transformパッケージを使う #golang

请参考第2个选项。

    • vim-go チュートリアル

 

    Dep
bannerAds