字符串
Go 语言里的字符串的内部实现使用UTF-8编码。
字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符。
多行字符串
Go语言中要定义一个多行字符串时,就必须使用反引号``字符。
var s1=`第一行
第二行
第三行`
字符串的常用操作
var s2="LLj梁"
var s3="liang"
var s4="LiangLj"
示例操作字符串
package main
import (
"fmt"
"strings"
)
func main(){
s:="1111"
//打印一个Windows平台下的一个文件路径
fmt.Println(s) //1111
fmt.Println("C:\\Windows\\System32") //C:\Windows\System32
fmt.Println("\"C:\\Windows\\System32\"") //"C:\Windows\System32"
fmt.Print("多行字符串:",s1)
fmt.Println("字符串的长度",len(s2)) //第三行字符串的长度 6
fmt.Println("拼接字符串",s3+"LLj") //拼接字符串 liangLLj
fmt.Println("拼接或格式化输出字符串",fmt.Sprintf("%s%s",s3,s2)) //拼接或格式化输出字符串 liangLLj梁
fmt.Println("分割字符串",strings.Split(s4,"L")) //分割字符串 [ iang j]
fmt.Println("字符串是否包含",strings.Contains(s4,"L")) //字符串是否包含 true
fmt.Println("字符串前缀",strings.HasPrefix(s4,"L")) //字符串前缀 true
fmt.Println("字符串后缀",strings.HasSuffix(s4,"L")) //字符串后缀 false
fmt.Println("字符串字符出现的位置",strings.Index(s4,"L")) //字符串字符出现的位置 0
fmt.Println("字符串字符最后出现的位置",strings.LastIndex(s4,"L")) //字符串字符最后出现的位置 5
fmt.Println("字符串join操作",strings.Join([]string{"hh","aa"},"+")) //字符串join操作 hh+aa
//循环字符串中的字符值
for i:=0;i<len(s2);i++{
fmt.Printf("%v--%c\n",s2[i],s2[i])
}
fmt.Println()
for _,j:=range s2{
fmt.Printf("%v--%c\n",j,j)
}
fmt.Println()
//修改字符串
s1 := "big"
// 强制类型转换
byteS1 := []byte(s1)
fmt.Printf("值类型:%T--%v\n",byteS1,byteS1) //值类型:[]uint8--[98 105 103]
byteS1[0]='p'
s1=string(byteS1)
fmt.Printf("值类型:%T--%v\n",s1,s1) //值类型:string--pig
类型转换
Go语言中只有强制类型转换,没有隐式类型转换。该语法只能在两个类型之间支持相互转换的时候使用
强制类型转换的基本语法如下:
T(表达式)
其中,T表示要转换的类型。表达式包括变量、复杂算子和函数返回值等。