在Go语言中,创建字符串类型的变量非常简单。通过使用关键字var,我们可以声明并初始化一个字符串变量。例如,var str string = "Hello, World!" 该语句将创建一个名为str的字符串变量,并将其初始化为"Hello, World!"。此外,我们还可以使用短变量声明来创建字符串变量,如:str := "Hello, World!" 这种方式可以更简洁地声明和初始化变量。无论是使用var还是短变量声明,我们都可以在后续的代码中使用这个字符串变量。在Go中,字符串类型是一种非常常用的数据类型,它可以存储和操作文本数据。通过使用var关键字或短变量声明,我们可以轻松地创建字符串类型的变量,并在程序中使用它们。
问题内容
首先说我对 Go 语言相当陌生。
我的程序采用 CSV 并将每一行作为 [] 字符串读取,并将它们全部添加到切片中。程序的另一部分应该向包含新信息的切片添加另一个条目,但我不知道如何将新条目声明为类型 []string。如果它尝试使用结构、代码、[]Customer 类型与 []string 类型不兼容。如果我在开始时将 []string 切片转换为 []Customer 类型,我将失去能够在每个条目的某些部分使用 time.Parse 的功能。我无法将新条目声明为类型 []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)
}
登录后复制
time.Parse 功能和更新 [] 字符串的一列的代码。
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
登录后复制
解决方法
复合文字缺少类型。添加这样的类型:
var newCust []string = []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}
登录后复制
注意第二个 []string
。
无需重复类型。使用此代码:
var newCust = []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}
登录后复制
甚至更短:
newCust := []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}
登录后复制
以上就是在Go中创建字符串类型的var的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!