Bootstrap

Go- 字符串

Go 学习笔记,学习内容

主要介绍以下内容:

  • 字符串类型

  • 字符串结束标志

  • 字符串长度

  • 字符串索引

  • 字符串拼接

代码示例可以直接运行

package main

import (
	"fmt"
)

func main() {
	/*
	   字符串类型
	   1、解释字符串
	   \n 换行符
	   \r 回车符
	   \t tab
	   \u \U Unicode字符
	   \\ 反斜杠本身
	   2、非解释字符串
	   反引号括起来的字符串
	*/
	fmt.Printf("a\na\n")
	fmt.Printf("b\rb\n") // 输出:b
	fmt.Printf("c\tc\n") // 输出:c       c
	fmt.Printf("d\\d\n") // 输出:d\d

	a1 := '\u0041'
	a2 := '\U00000041'
	fmt.Println(a1, a2) // 输出:65 65

	fmt.Println(`This is a raw string\n\r\t\\`) // 输出:This is a raw string\n\r\t\\

	/*
	   1、string 类型的零值为长度为0的字符串
	   2、Go 中的字符串是根据长度限定,而非特殊字符 \0
	   3、比较运算符通过在内存中按字节比较来实现字符串的对比
	*/
	str1 := "Hello"
	fmt.Printf("%s\n", str1)    // 格式化输出 %s
	fmt.Println(len(str1))      // 获得字符串长度
	fmt.Printf("%c\n", str1[0]) // 字符串索引,从0开始,仅对ASCII码的字符串有效

	str2 := str1 + " World" // 字符串拼接
	str1 += " Bug"          // 字符串拼接的简写形式
	//str3 += str1 + " Bug"   // 编译错误:undefined: str3
	fmt.Println(str1, str2)
}