package main
import (
"fmt"
)
func main() {
//1.定义一个字符串
var s1 string = "你好golang"
fmt.Println("打印string(字符串):",s1)
//2.字符串是不可改变的:指的是字符串一旦定义好,其中的字符是不能改变的
var s2 string = "abc"
s2 = "asd"
//s2[0] = 't' //这种情况会报错cannot assign to s2[0] (strings are immutable) 不能修改下标为0的字符
fmt.Println("打印直接替换的字符串:",s2)
//3.字符串的表现形式和应用场景
var s3 string = "adasdadedad"
fmt.Println("字符串没有特殊符号下的使用",s3)
fmt.Println("-------------------------")
var s4 string = `
package main
import "fmt"
func main() {
//测试布尔类型数值
var (
flag01 bool = true
flag02 bool = false
)
fmt.Println("bool类型第一种为\"真\"的结果:",flag01)
fmt.Println("bool类型第二种为\"假\"的结果:",flag02)
`
fmt.Println("字符多符号且复杂的情况下使用反引号:",s4)
fmt.Println("--------------------------------")
//4.字符串的拼接效果
var s6 string = "abc"+"asd"
fmt.Println("字符串拼接效果:",s6)
//另一种方法
var s7 string = "qwer"
fmt.Println("另一种方法拼接方法:",s6+s7)
//+=也可以
s7+="lkjg" //需要拼接变量+=需要拼接的值
fmt.Println("使用+=拼接:",s7)
fmt.Println("--------------------------")
//5.当字符串过长时为了代码的可读性换行时,+号一定是保留在最后,否则会报错:evaluated but not used
var s8 string = "adada"+"adada"+"adada"+"adada"+
"adada"+"adada"+"adada"+"adada"+"adada"+
"adada"+"adada"+"adada"+"adada"+"adada"
fmt.Println("当字符串过长时为了代码的可读性换行时,+号一定是保留在最后:",s8)
}
运行结果
GOROOT=C:\Users\jingxie\go\go1.16.6 #gosetup
GOPATH=C:\Users\jingxie\go\go1.16.6;C:\Users\jingxie\go #gosetup
C:\Users\jingxie\go\go1.16.6\bin\go.exe build -o C:\Users\jingxie\AppData\Local\Temp\___go_build_8__go.exe C:\Users\jingxie\go\src\golang\8.字符串.go #gosetup
C:\Users\jingxie\AppData\Local\Temp\___go_build_8__go.exe #gosetup
打印string(字符串): 你好golang
打印直接替换的字符串: asd
字符串没有特殊符号下的使用 adasdadedad
-------------------------
字符多符号且复杂的情况下使用反引号:
package main
import "fmt"
func main() {
//测试布尔类型数值
var (
flag01 bool = true
flag02 bool = false
)
fmt.Println("bool类型第一种为\"真\"的结果:",flag01)
fmt.Println("bool类型第二种为\"假\"的结果:",flag02)
--------------------------------
字符串拼接效果: abcasd
另一种方法拼接方法: abcasdqwer
使用+=拼接: qwerlkjg
--------------------------
当字符串过长时为了代码的可读性换行时,+号一定是保留在最后: adadaadadaadadaadadaadadaadadaadadaadadaadadaadadaadadaadadaadadaadada
进程 已完成,退出代码为 0