欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go csv json 對比

林子帆2年前8瀏覽0評論

Go、CSV、JSON是現在比較熱門的三個概念,本文將對Go、CSV和JSON進行對比,探究它們各自的特點和優劣。

import (
"encoding/csv"
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name" csv:"姓名"`
Age  int    `json:"age" csv:"年齡"`
Sex  string `json:"sex" csv:"性別"`
}
func main() {
person1 := Person{Name: "Tom", Age: 18, Sex: "男"}
person2 := Person{Name: "Mary", Age:22, Sex: "女"}
personSlice := []Person{person1, person2}
// CSV
csvFile, err := os.Create("test.csv")
if err != nil {
panic(err)
}
defer csvFile.Close()
csvWriter := csv.NewWriter(csvFile)
headers := []string{"姓名", "年齡", "性別"}
csvWriter.Write(headers)
for _, person := range personSlice {
var row []string
row = append(row, person.Name, string(person.Age), person.Sex)
csvWriter.Write(row)
}
csvWriter.Flush()
// JSON
jsonFile, err := os.Create("test.json")
if err != nil {
panic(err)
}
defer jsonFile.Close()
jsonWriter := json.NewEncoder(jsonFile)
jsonWriter.Encode(personSlice)
// Go
fmt.Println(personSlice)
}

通過對比代碼可以看出,CSV文件格式簡單,適合存儲小型化的數據,有利于迅速的讀寫操作;JSON文件則是一種輕量級的數據交換格式,很方便用來進行跨平臺的數據交換;而Go則是一門編程語言,可以支持多種的數據交換格式。因此具體使用那種方式寫入、讀出取決于具體需求,可以根據實際情況來選擇使用不同的方法。