String--Go语言学习笔记

String–Go语言学习笔记

String在Go中是一个字节的切片

go语言中一个汉字对应三个字节

 slice1:=[]byte{
     65,66,67,68,69}
   s3:=string(slice1)
   fmt.Println(s3)
//ABCDE

string转为字节:

s4:="abcdef"
slice2:=[]byte(s4)
fmt.Println(slice2)
//[97 98 99 100 101 102]

字符串不能修改

String的初始化
s1:="helo"
s2:=`world`
fmt.Println(s1)
fmt.Println(s2)
//helo
//world
String获取字符串长度
fmt.Println(len(s1))
fmt.Println(len(s2))
//4
//5
获取某个字节
fmt.Println(s1[0])
fmt.Println(s2[3])
//h
//l
字符串的遍历
for i:=0;i<len(s1);i++{
     
    fmt.Println(s1[i])
    fmt.Printf("%c\t",s1[i])
}
//h    101
//e    108
//l    111
//0    15  存储的是字节,格式化输出才为字符串
for _,v:=range s1{
     
    fmt.Printf("%c\t",v)
}
//helo
String函数-Contains()
//是否含有指定的内容-->bool
s1:="hello"
fmt.Println(strings.Contains(s1,"abc"))
//false

#####String函数–>ContainsAny()

fmt.Println(strings.ContainsAny(s1,"abcd"))
//含d,true
String函数–Count()
fmt.Println(strings.Count(s1,"llo"))//1
fmt.Println(strings.Count(s1,"l"))//3
//返回值为int,表示出现的次数

#####String函数–HasPrefix()–以什么前缀开头

s2:="20190525课堂笔记.txt"
if strings.HasPrefix(s2,"201905"){
     
    fmt.Println("19年五月的笔记")
}
//19年五月的笔记
String函数–HasSuffix()–以什么后缀结尾
if strings.HasSuffix(s2,"txt"){
     
    fmt.Println("文本文档")
}//文本文档

#####String–Index(_," ")–查找substr在s中的位置(下标),如果不存在就返回-1

#####String–IndexAny(_," “)–查找” "中任意的字符在substr中的位置

#####String–LastIndex(_," “)–查找” "在s中出现的最后一次的位置

字符串的拼接
ss1:=[]string{
     "abc","world","hello","ruby"}
s3:=strings.Join(ss1,"-")
fmt.Println(s3)
//abc-world-hello-ruby
切割
s4:="123,4563,aaa,49595,45"
ss2:=strings.Split(s4,",")
fmt.Println(ss2)
//[123 4563 aaa 49595 45]
重复
s5:=strings.Repeat("hello",5)
fmt.Println(s5)
//hellohellohellohellohello
替换
s6:=strings.Replace(s1,"l","*",1)//1代表替换几个
fmt.Println(s6)
//he*loworld
截取子串
s8:=s1[:5]
fmt.Println(s8)
//hello
s9:=s1[5:]
fmt.Println(s9)
//world

你可能感兴趣的:(golang)