在Go中使用字符串的介绍

来自菜鸟教程
跳转至:导航、​搜索

string 是一个或多个字符(字母、数字、符号)的序列,可以是常量或变量。 由 Unicode 组成的字符串是不可变的序列,这意味着它们是不变的。

因为文本是我们在日常生活中使用的一种常见的数据形式,所以字符串数据类型是编程的一个非常重要的构建块。

本 Go 教程将介绍如何创建和打印字符串、如何连接和复制字符串以及如何将字符串存储在变量中。

字符串文字

在 Go 中,字符串存在于反引号 `(有时称为反引号)或双引号 " 中。 根据您使用的引号,字符串将具有不同的特征。

使用反引号,如 ` ```bar``` `,将创建一个 raw 字符串文字。 在原始字符串文字中,任何字符都可以出现在引号之间,反引号除外。 这是原始字符串文字的示例:

`Say "hello" to Go!`

反斜杠在原始字符串文字中没有特殊含义。 例如,\n 将显示为实际字符、反斜杠 \ 和字母 n。 与解释字符串文字不同,其中 \n 将插入一个实际的新行。

原始字符串文字也可用于创建多行字符串:

`Go is expressive, concise, clean, and efficient.
Its concurrency mechanisms make it easy to write programs
that get the most out of multi-core and networked machines,
while its novel type system enables flexible and modular
program construction. Go compiles quickly to machine code
yet has the convenience of garbage collection and the power
of run-time reflection. It's a fast, statically typed,
compiled language that feels like a dynamically typed,
interpreted language.`

解释的字符串文字是双引号之间的字符序列,如 "bar"。 在引号内,除了换行符和未转义的双引号外,任何字符都可能出现。

"Say \"hello\" to Go!"

您几乎总是会使用解释字符串文字,因为它们允许在其中包含转义字符。

现在您已经了解了字符串在 Go 中是如何格式化的,让我们看看如何在程序中打印字符串。

打印字符串

您可以使用系统库中的 fmt 包并调用 Println() 函数来打印字符串:

fmt.Println("Let's print out this string.")
OutputLet's print out this string.

使用时必须 import 系统包,因此打印字符串的简单程序如下所示:

package main

import "fmt"

func main() {
    fmt.Println("Let's print out this string.")
}

字符串连接

Concatenation 意味着将字符串首尾相连,以创建一个新字符串。 您可以使用 + 运算符连接字符串。 请记住,当您使用数字时,+ 将是一个加法运算符,但当与字符串一起使用时,它是一个连接运算符。

让我们通过 fmt.Println() 语句将字符串文字 "Sammy""Shark" 组合在一起:

fmt.Println("Sammy" + "Shark")
OutputSammyShark

如果您想要两个字符串之间的空格,您可以简单地在字符串中包含空格。 在此示例中,在 Sammy 之后的引号内添加空格:

fmt.Println("Sammy " + "Shark")
OutputSammy Shark

+ 运算符不能在两种不同的数据类型之间使用。 例如,您不能将字符串和整数连接在一起。 如果您要尝试编写以下内容:

fmt.Println("Sammy" + 27)

您将收到以下错误:

Outputcannot convert "Sammy" (type untyped string) to type int
invalid operation: "Sammy" + 27 (mismatched types string and int)

如果要创建字符串 "Sammy27",可以将数字 27 放在引号 ("27") 中,这样它就不再是整数,而是细绳。 在处理邮政编码或电话号码时,将数字转换为字符串以进行连接可能很有用。 例如,您不希望在国家代码和区号之间执行相加,但您确实希望它们保持在一起。

当您通过连接组合两个或多个字符串时,您正在创建一个可以在整个程序中使用的新字符串。

将字符串存储在变量中

Variables 是可用于在程序中存储数据的符号。 您可以将它们视为一个空框,您可以在其中填充一些数据或值。 字符串是数据,因此您可以使用它们来填充变量。 将字符串声明为变量可以更轻松地在整个 Go 程序中使用字符串。

要将字符串存储在变量中,只需将变量分配给字符串。 在这种情况下,将 s 声明为您的变量:

s := "Sammy likes declaring strings."

注意:如果你熟悉其他编程语言,你可能把变量写成sammy。 然而,Go 更喜欢较短的变量名。 在这种情况下为变量名选择 s 会被认为更适合 Go 的编写风格。


现在您已将变量 s 设置为该特定字符串,您可以像这样打印变量:

fmt.Println(s)

然后您将收到以下输出:

OutputSammy likes declaring strings.

通过使用变量来代替字符串,您不必每次想要使用字符串时都重新键入字符串,从而使您在程序中使用和操作字符串变得更加简单。

结论

本教程介绍了在 Go 编程语言中使用字符串数据类型的基础知识。 创建和打印字符串、连接和复制字符串以及将字符串存储在变量中将为您提供在 Go 程序中使用字符串的基础知识。