package main import( "encoding/csv" "fmt" "os" "strconv" ) type Post struct{ Id int Content string Author string } func main(){ csvFile, err := os.Create("posts.csv") if err!= nil{ panic(err) } defer csvFile.Close() posts := []Post{ Post{Id:100,Content:"Hello go",Author:"张三"}, Post{Id:200,Content:"Hello java",Author:"李四"}, Post{Id:300,Content:"Hello php",Author:"王五"}, } writer := csv.NewWriter(csvFile) for _,post := range posts{ line := []string{strconv.Itoa(post.Id), post.Content, post.Author} err := writer.Write(line) if err != nil{ panic(err) } } writer.Flush() file,err := os.Open("posts.csv") if err != nil{ panic(err) } defer file.Close() reader := csv.NewReader(file) reader.FieldsPerRecord = -1 record, err := reader.ReadAll() if err != nil{ panic(err) } var myposts []Post for _, item := range record{ id, _ := strconv.ParseInt(item[0], 0, 0) post := Post{Id: int(id), Content:item[1], Author:item[2]} myposts = append(myposts, post) } for _, value := range myposts{ fmt.Printf("Id:%d,Content:%s,Author:%s\n", value.Id, value.Content, value.Author) } }
原文地址:https://www.cnblogs.com/yshyee/p/9130989.html
时间: 2024-11-02 11:34:51