字符串的使用
package main
import "fmt"
func main() {
/*
Go中的字符串是一个字节的切片。
可以通过将内容封装在“”中来创建字符串。
Go中的字符串是Unicode兼容的,并且是UTF-8编码的。
字符串是一些字节的集合。
*/
//1.定义字符串
s1:="hello"
s2:="hello world"
fmt.Println(s1)
fmt.Println(s2)
//2.字符串长度
fmt.Println(len(s1))
fmt.Println(len(s2))
//3.获取某个字节
fmt.Println(s2[0])//打印为编码
a:='h'
b:=104
fmt.Printf("%c,%c,%c\n",s2[0],a,b)
//4.字符串的遍历
for i:=0;i<len(s2);i++ {
fmt.Printf("%c",s2[i])
}
fmt.Println()
for _,v:=range s2{
fmt.Printf("%c",v)
}
fmt.Println()
//5.字符串是字节的集合
slice1:=[]byte{65,66,67,68,69}
s3:=string(slice1)
fmt.Println(s3)
s4:="abcde"
slice2:=[]byte(s4)
fmt.Println(slice2)
//6.字符串不能修改
fmt.Println(s4)
//s4[2]='B'
}
strings包的使用
import
package main
import (
"fmt"
"strings"
)
func main() {
s1:="hello wold"
//1.是否包含指定的内容,bool类型
fmt.Println(strings.Contains(s1,"llo"))
//2.是否包含chars中任意的一个字符,bool类型
fmt.Println(strings.ContainsAny(s1,"abcd"))
//3.统计substr在s中出现的次数,int类型
fmt.Println(strings.Count(s1,"l"))
//4.以XX的前缀开头,以XX后缀结尾
s2:="20210315课堂笔记.txt"
if strings.HasPrefix(s2,"2021") {
fmt.Println("21年文件")
}
if strings.HasSuffix(s2,".txt") {
fmt.Println("文本文档")
}
//5.查找第一次出现下标
fmt.Println(strings.Index(s1,"yyy"))//不存在返回-1
fmt.Println(strings.IndexAny(s1,"abcdh"))//任意一个字符
fmt.Println(strings.LastIndex(s1,"l"))
//字符串的拼接
ss1:=[]string{"abc","world","hello"}
s3:=strings.Join(ss1,"-")
fmt.Println(s3)
//切割
s4:="123,456,789,44"
ss2:=strings.Split(s4,",")
for i:=0;i<len(ss2);i++ {
fmt.Println(ss2[i])
}
//重复,自己拼接自己
s5:=strings.Repeat("hello",5)
fmt.Println(s5)
//替换
s6:=strings.Replace(s1,"l","*",-1)
fmt.Println(s6)//-1替换所有
//大小写替换
s7:="hello WORLD**123"
fmt.Println(strings.ToLower(s7))
fmt.Println(strings.ToUpper(s7))
s8:=s1[0:5]
fmt.Println(s1)
fmt.Println(s8)
fmt.Println(s1[5:])
}