首先,我说我对Go语言相当陌生。
我的程序接受一个CSV,并将每行作为[]字符串读取,然后将它们全部添加到一个切片中。程序的另一部分应该向切片中添加另一个包含新信息的条目,但我不知道如何将新条目声明为类型[]string。如果它尝试使用结构体,则代码,[]Customer类型与[]string类型不兼容。如果我在开始时将[]string切片转换为类型[]Customer,我失去了使用时间的功能。解析每个条目的某些部分。我无法将新条目声明为类型[]string。有什么方法可以做到这一点吗?用于阅读CSV并将其添加到类型为[]string的切片的代码。
var customerInfo [][]string
for {
record, err := reader.Read()
if err == io.EOF {
break
}
if err != nil {
panic(err)
}
customerInfo = append(customerInfo, record)
}
字符串
时间的代码。解析功能和更新[]字符串的一列。
today := time.Now()
for i, e := range customerInfo {
if i > 0 {
lastOilChange, err := time.Parse("2006-01-02", e[4])
if err != nil {
panic(err)
}
diff := today.Sub(lastOilChange)
diffInMonths := float64(diff.Hours() / 24 / 30)
if diffInMonths > 6 {
e[6] = today.Format("2006-01-02")
}
}
}
型
向CSV添加新行的代码(目前唯一不工作的部分)
var newCust []string = {"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}
customerInfo = append(customerInfo, newCust)
型
当我运行这个程序并使用代码向CSV添加新行时,我得到的错误是
syntax error: unexpected {, expected expression
型
1条答案
按热度按时间zzzyeukh1#
复合文本缺少类型。像这样添加类型:
字符串
注意第二个
[]string
。不需要重复类型。使用以下代码:
型
或者更短:
型