A_STRING_是一个或多个字符(字母、数字、符号)的序列,可以是常量也可以是变量。由[unicode]组成(https://unicode.org/),字符串是不变的序列,这意味着它们是不变的。
因为文本是我们在日常生活中使用的一种非常常见的数据形式,所以字符串数据类型是编程的一个非常重要的构建块。
本围棋教程将介绍如何创建和打印字符串,如何连接和复制字符串,以及如何将字符串存储在变量中。
字符串字面数
在围棋中,字符串存在于反引号`(有时称为反勾号)或双引号```中。根据您使用的引号,字符串将具有不同的特征。
使用反引号(如bar
)将创建_RAW_STRING文本。在原始字符串文字中,除反引号外,任何字符都可以出现在引号之间。以下是一个原始字符串文字的示例:
1`Say "hello" to Go!`
在原始字符串文字中,反斜杠没有特殊意义。例如,\n
将作为实际字符,反斜杠\
和字母N
。与解释的字符串文字不同,\n
将插入实际的新行。
原始字符串也可用于创建多行字符串:
1`Go is expressive, concise, clean, and efficient.
2Its concurrency mechanisms make it easy to write programs
3that get the most out of multi-core and networked machines,
4while its novel type system enables flexible and modular
5program construction. Go compiles quickly to machine code
6yet has the convenience of garbage collection and the power
7of run-time reflection. It's a fast, statically typed,
8compiled language that feels like a dynamically typed,
9interpreted language.`
解释的字符串文字是双引号之间的字符序列,如bar
。在引号内,除换行符和未转义的双引号外,可以出现任何字符。
1"Say \"hello\" to Go!"
您几乎总是使用解释的字符串文字,因为它们允许其中包含转义字符。
现在您已经了解了Go中字符串是如何格式化的,让我们来看看如何在程序中打印字符串。
打印字符串
通过使用系统库中的fmt
包,调用Println()
函数,可以打印出字符串:
1fmt.Println("Let's print out this string.")
1[secondary_label Output]
2Let's print out this string.
当您使用系统包时,您必须`导入‘它们,所以一个打印字符串的简单程序如下所示:
1package main
2
3import "fmt"
4
5func main() {
6 fmt.Println("Let's print out this string.")
7}
字符串拼接
_Connecatenation_表示将字符串以端到端方式连接在一起,以创建新的字符串。可以使用+
运算符连接字符串。请记住,当您处理数字时,+
将是用于加法的运算符,但当与字符串一起使用时,它是一个联接运算符。
让我们通过fmt.Println()
语句将字符串字面值Sammy
和Shark
组合在一起:
1fmt.Println("Sammy" + "Shark")
1[secondary_label Output]
2SammyShark
如果你想在两个字符串之间有一个空格,你可以简单地在一个字符串中包含空格。在本例中,在Sammy
后面的引号内添加空格:
1fmt.Println("Sammy " + "Shark")
1[secondary_label Output]
2Sammy Shark
不能在两种不同的数据类型之间使用+
运算符。例如,您不能将字符串和整数连接在一起。如果你要试着写下以下内容:
1fmt.Println("Sammy" + 27)
您将收到以下错误:
1[secondary_label Output]
2cannot convert "Sammy" (type untyped string) to type int
3invalid operation: "Sammy" + 27 (mismatched types string and int)
如果您想创建字符串`)来实现,这样它就不再是一个整数,而是一个字符串。在处理邮政编码或电话号码时,将数字转换为字符串以进行连接非常有用。例如,您不希望在国家代码和区号之间执行加法,但您确实希望它们保持在一起。
当您通过串联将两个或多个字符串组合在一起时,您正在创建一个可在整个程序中使用的新字符串。
在变量中存储字符串
Variables 是可用于在程序中存储数据的符号。您可以将它们视为一个填充了一些数据或值的空框。字符串是数据,因此您可以使用它们来填充变量。将字符串声明为变量可以更容易地在整个围棋程序中使用字符串。
要在变量中存储字符串,只需将变量赋给字符串即可。在这种情况下,将s
声明为您的变量:
1s := "Sammy likes declaring strings."
<$>[注]
注意: 如果你熟悉其他编程语言,你可能已经把变量写成了sammy
。然而,Go更喜欢较短的变量名。在这种情况下,选择s
作为变量名将被认为更适合Go语言的编写风格。
<$>
现在您已经将变量s
设置为该特定字符串,您可以按如下方式打印该变量:
1fmt.Println(s)
然后,您将收到以下输出:
1[secondary_label Output]
2Sammy likes declaring strings.
通过使用变量来代替字符串,您不必在每次要使用字符串时都重新键入它,从而使您可以更轻松地在程序中使用和操作字符串。
结论
本教程介绍了在Go编程语言中使用字符串数据类型的基础知识。创建和打印字符串,连接和复制字符串,以及将字符串存储在变量中,将为您提供在Go程序中使用字符串的基础知识。