企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## **1:基本介绍** 一、字符串就是一串固定字符链在一起的固定字符序列,Go语言的字符串是由单个字符链接起来的,Go语言的字符串的字节使用utf-8编码来表示unicode文本 <br> <br> ## **2:案例演练** 基本使用 ``` package main import ( "fmt" ) func main(){ var addrase string = "欢迎来到西藏无人区 Hello 007 !!!" fmt.Println("addrase=",addrase) } ``` **运行结果** `addrase= 欢迎来到西藏无人区 Hello 007 !!!` <br> <br> ## **3:注意事项和使用细节:** **一**,Go语言的字符串的字节使用utf-8编码来表示unicode文本,这样Goland统一使用utf-8编码,中文乱码不在困扰程序员了 **二**,字符串一旦赋了值,就不能再修改了,Go中的字符串是不可变的 ``` package main import ( "fmt" ) func main(){ var addrase string = "欢迎来到西藏无人区 Hello 007 !!!" addrase[0] = "哈" fmt.Println("addrase=",addrase) } ``` **运行结果** `./main.go:7:13: cannot assign to addrase[0]` <br> <br> ## **4**,字符串的两种**表示形式.** (1)双引号,会识别转义字符(普通的用发) (2)反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出 源代码等效果 <br> <br> ### **1:案例演示** #### **1**,双引号,会识别转义字符(普通的用法) ``` package main import ( "fmt" ) func main(){ str := "asdf\nghjk" fmt.Println(str) } ``` **运行结果** ``` asdf ghjk ``` <br> <br> #### **2**,反引号 反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、 **注意:**``**反引号中的代码不管写的是什么,是否有特殊字符,都不会被识别** **只是当做一个普通的文本执行** ``` package main import ( "fmt" ) func main(){ str := ` package main import("fmt") func main(){ // golang中使用字符类型 var sum byte = 'a' var num byte = 'b' fmt.Println(sum,num) } ` fmt.Println(str) } ``` **运行结果:** ``` package main import("fmt") func main(){ // golang中使用字符类型 var sum byte = 'a' var num byte = 'b' fmt.Println(sum,num) } [Finished in 0.4s] ``` <br> <br> #### **3:字符串拼接** ##### **拼接方式1:** ``` package main import ( "fmt" ) func main(){ str := "hello" + "jack" str += "good" fmt.Println(str) } ``` <br> <br> ##### **拼接方式2:** 思考:当要拼接很多个字符时,怎么办(如下处理) 注意:多字符拼接要把加号留在末端,否则go会在末端自动添加;(结束的封号) ``` package main import ( "fmt" ) func main(){ str := "促织鸣已急," + "轻衣行向重。" + "寒灯坐高馆" + ",秋雨闻疏钟。" + "白法调狂象" + ",玄言问老龙。" + "何人顾蓬径" + ",空愧求羊踪。" fmt.Println(str) } ``` **运行结果:** 促织鸣已急,轻衣行向重。寒灯坐高馆,秋雨闻疏钟。白法调狂象,玄言问老龙。何人顾蓬径,空愧求羊踪。 <br> 3:单引号:在Go中,双引号是用来表示字符串string,其实质是一个 byte类型的数组,单引号表示rune类型(后期讲解)