3.4.3 字符串类型的变量

我们再来看代码3-13:

package main

import (
  "fmt"
)

func main() {
  var a string
  var b, c string

  a = "good"

  b = "morning"

  c = a + " " + b

  fmt.Println(c)
}

代码3-13 字符串类型变量的声明和赋值

在main函数中的第1条语句中声明变量a的类型是string,这是Go语言中用于存储文字的变量类型。在计算机编程中,我们一般把文字叫作字符串(string),即“一串字符”。

第2条语句则一次声明了两个字符串变量b和c。多个同样类型的变量可以用这种方式定义,即在一条var语句中用逗号分隔几个变量名来同时定义多个变量。

第3、4条语句则分别将“good”和“morning”这两个字符串赋值给a和b这两个变量。注意,字符串必须用双引号括起来,否则计算机无法判断这是变量的名字还是一个字符串,字符串变量中实际存储的字符串并不包括双引号本身。如果字符串本身含有双引号,要在这个双引号之前加上一个反斜杠“\”来避免混淆,例如a = "I said: \"I am happy.\" "表示的变量a中的字符串实际上是I said: "I am happy."。

而字符串也可以用加号来“相加”,但是和数字相加不同,字符串的相加其实是把几个字符串连接起来(也叫“拼接”),所以用fmt.Println函数来查看变量c的值时,得到的输出应该是“good”“morning”和它们之间的一个空格连接起来的新字符串“good morning”。执行该程序得到的结果如图3.23所示。

图3.23 字符串类型变量声明和赋值的执行结果