建设安全监督站的网站,网页版百度云,排名好的昆明网站建设,wordpress 微信 模板怎么用一、字符串
1、字符串
Go 语言里的字符串的内部实现使用 UTF-8 编码字符串带的值为双引号#xff08;#xff09;中的内容#xff0c;可以在 Go 语言的源码中直接添加非ASCII 码字符
s1 : hello
s2 : 您好
2、字符串转义符
Go 语言的字符…一、字符串
1、字符串
Go 语言里的字符串的内部实现使用 UTF-8 编码字符串带的值为双引号中的内容可以在 Go 语言的源码中直接添加非ASCII 码字符
s1 : hello
s2 : 您好
2、字符串转义符
Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等 package mainimport (fmt
)func main() {fmt.PrintIn(str : \c:\\Code\\demo\\go.exe\) // str : c:\Code\demo\go.exe
}
3、多行字符串
反引号间换行将被作为字符串中的换行但是所有的转义字符均无效文本将会原样输出
package main
import (fmt
)
func main() {s1 : 第一行第二行第三行fmt.Println(s1)
}
4、byte 和 rune
Go 语言的字符有以下两种 uint8 类型或者叫 byte 型代表了 ASCII 码的一个字符 rune 类型代表一个 UTF-8 字符 字符串底层是一个 byte 数组所以可以和[]byte 类型相互转换字符串是不能修改的 字符串是由 byte 字节组成 所以字符串的长度是 byte 字节的长度rune 类型用来表示 utf8 字符一个 rune 字符由一个或多个 byte 组成
package mainimport fmtfunc main(){//比赛第一s : 比赛第一s_rune : []rune(s)fmt.PrintIn(友谊string(s_rune[2:])) //友谊第一
}
二、字符串常用操作
方法介绍len(str)求长度或 fmt.Sprintf拼接字符串strings.Split分割strings.Contains判断是否包含strings.HasPrefix,strings.HasSuffix前缀/后缀判断strings.Index(),strings.LastIndex()子串出现的位置strings.Join(a[]string,sep string)join 操作
1、lenstr
package mainimport fmtfunc main(){var str this is strfmt.PrintIn(len(str)) //11
}
2、拼接
package mainimport fmtfunc main() {var str1 您好var str2 golangfmt.PrintIn(str1 str2) //你好golang
}
3、strings.Split()
package mainimport (fmtstrings
)func main () {var s Running-Snailvar s1 strings.Split(s,-)fmt.PrintIn(s1) // [Running Snail]
}
4、strings.HasPrefix()
首字符尾字母包含指定字符
package mainimport (fmtstrings
)func main() {//1.判断字符串 以 this 开头var str this is golangvar flag strings.Hasprefix(str,this)fmt.PrintIn(flag) //true//2.判断字符串以 go 结尾var.flag2 strings.HasSuffix(str,go)fmt.PrintIn(flag2) //false
}
5、strings.Index()
判断字符串出现的位置
package mainimport (fmtstrings
)func main() {var str this is golangvar index strings.Index(str,go)fmt.PrintIn(index) // 8 (判断字符串 go 出现的位置)
}
6、strings.Join()
package main import (fmtstrings
)func main() {var str Running-Snailvar arr strings.Split(str,-) // [Running Snail]var str2 strings.Join(arr,*) // Running*Snailfmt.PrintIn(arr)fmt.PrintIn(str2)
}
7、单引号
组成每个字符串的元素叫做“字符”可以通过遍历字符串元素获得字符字符用单引号()uint8类型或者叫 byte 类型代表 ASCII 码的一个字符rune 类型代表一个 UTF-8 字符
package mainimport fmtfunc main(){a : aname : snail//当我们直接输出 byte字符的时候输出的是这个字符对应的码值fmt.PrintIn(a) // 97 这里输出的是 a 字符串的 ASCII 值fmt.PrintIn(name) // snail//如果我们要输出这个字符需要格式化输出fmt.Printf(的值是%c,a) //a的值是 a
}
三、字符串遍历
1、遍历字符串
package mainimport fmtfunc main(){s : hello snailfor i : 0; ilen(s);i { //bytefmt.Printf(%v(%c),s[I],s[I])// 104(h) 101(e) 108(l) 108(l) 111(o) 32( ) 115(s) 110(n) 97(a) 105(i) 108(l) }fmt.PrintIn() //打印一个换行for _,r : range s { //runefmt.Prinf(%v%c,r,r)//104h 101e 108l 108l 111o 32 115s 110n 97a 105i 108l}
}
2.修改字符串
要修改字符串需要先将其转换成[]rune或 byte完成后再转换为 string无论那种转换都会重新分配内存并复制字节数组
package mainimport fmtfunc main(){s1 : snail//强制类型转换byteS : []byte(s1)byteS1[0] pfmt.PrintIn(string(byteS1)) //pnail s2 : 白萝卜runeS2 : []rune(s2)runeS2[0] 红fmt.PrintIn(string(runeS2)) //红萝卜
}
四、转 String
1、sprintf 转 string
注意sprintf 使用中需要注意转换的格式 int 为%dfloat 为%fbool 为%tbyte 为%c
package mainimport fmtfunc main() {var i int 20var f float64 12.456var t bool truevar b byte avar strs stringstrsfmt.Sprintf(%d,i) //把int 转换成 stringfmt.Printf(类型 %T值%v\n,strs,strs) //类型string值 20strs fmt.Sprintf(%f,f) //把 float转换成 stringfmt.Printf(类型 %T ,值%v \n, strs, strs) // 类型 string ,值12.456000strs fmt.Sprintf(%t, t) // 把 bool 转换成 stringfmt.Printf(类型 %T ,值%v \n, strs, strs) // 类型 string ,值truestrs fmt.Sprintf(%c, b) // 把 byte 转换成 stringfmt.Printf(类型 %T ,值%v \n, strs, strs) // 类型 string ,值a
}
2、strconv
package mainimport (fmtstrconv
)fun main () {//1、int转换成 stringvar num1 int 20s1 : strong.Itoa(num1)fmt.Printf(类型%T 值%v \n,s1,s1) //类型string值20//2、float 转 stringvar num2 float64 20.113123/*参数 1:要转换的值参数 2格式化类型参数 3保留的小数点 -1 不对小数点格式化参数 4格式化的类型*/s2 : strconv.FormatFloat(num2,f,2,64)fmt.Printf(类型 %T ,值%v \n, s2, s2) // 类型 string ,值20.11// 3、bool 转 strings3 : strconv.FormatBool(true)fmt.Printf(类型 %T ,值%v \n, s3, s3) // 类型 string ,值20.11//4、int64 转 stringvar num3 int64 20s4 : strconv.FormatInt(num3, 10) /* 第二个参数10为 进制 */fmt.Printf(类型 %T ,值%v \n, s4, s4) // 类型 string ,值20
}五、String 转其他
1、string 转 int
package mainimport (fmtstrconv
)fun main() {var s 1234i64,_ : strconv.ParseInt(s,10,64)fmt.Printf(值%v 类型%T,i64,i64) //值1234 类型int64
}
2、string 转 float
package mainimport (fmtstrconv
) func main() {str : 3.1415926535v1,_ : strconv.ParseFloat(str,32)v2,_ : strconv.ParseFloat(str,64)fmt.Printf(值%v 类型%T\n,v1,v1) // 值3.1415927410125732 类型float64fmt.Printf(值%v 类型%T, v2, v2) // 值3.1415926535 类型float64
}
3、string 转 bool
package main
import (fmtstrconv
)
func main() {b, _ : strconv.ParseBool(true) // string 转 boolfmt.Printf(值%v 类型%T, b, b) // 值true 类型bool
}
4、string 转字符
package mainimport fmtfunc main() {s : hello snailfor _,r : range s{ //rune//104(h) 101(e) 108(l) 108(l) 111(o) 32( ) 115(s) 110(n) 97(a) 105(i) 108(l) fmt.Printf(%v(%c),r,r)}fmt.PrintIn()
}
5、字符串反转
package mainfunc Reverse(s string) string{r : []rune(s)for I,j:0,len(r)-1;ij;i,ji1,j-1 {r[I],r[j]r[j],r[i]}return string(r)
}func main(){a : Hello, Wroldprintln(a)println(Reverse(a)) // dlorW ,olleH
}