在Go中创建字符串类型的var

2024年 2月 10日 83.1k 0

在go中创建字符串类型的var

在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)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论