package main
import("fmt""strings")funcmain(){var s ="123-456-789"var arr = strings.Split(s,"-")
fmt.Println(arr)// [123 456 789]}
2.4 strings.HasPrefix()
首字符尾字母包含指定字符
package main
import("fmt""strings")funcmain(){// 1.判断字符串 以 this 开头var str ="this is golang"var flag = strings.HasPrefix(str,"this")
fmt.Println(flag)// true// 2.判断字符串以 go 结尾var flag2 = strings.HasSuffix(str,"go")
fmt.Println(flag2)// false}
2.5 strings.Index()
判断字符串出现的位置
package main
import("fmt""strings")funcmain(){var str ="this is golang"var index = strings.Index(str,"go")//从前往后
fmt.Println(index)// 8 (判断字符串 go 出现的位置)}
package main
import"fmt"funcmain(){
a :='a'
name :="zhangsan"//当我们直接输出 byte(字符)的时候输出的是这个字符对应的码值
fmt.Println(a)// 97 这里输出的是 a 字符串的 ASCII值
fmt.Println(name)// zhangsan//如果我们要输出这个字符,需要格式化输出
fmt.Printf("的值是%c", a)// a的值是a}
03.字符串遍历
3.1 遍历字符串
package main
import"fmt"funcmain(){
s :="hello 张三"for i :=0; i <len(s); i++{//byte
fmt.Printf("%v(%c) ", s[i], s[i])// 104(h) 101(e) 108(l) 108(l) 111(o) 32( ) 229(å) 188(¼) 160() 228(ä) 184(¸) 137()}
fmt.Println()// 打印一个换行for_, r :=range s {//rune
fmt.Printf("%v=>%c ", r, r)// 104=>h 101=>e 108=>l 108=>l 111=>o 32=> 24352=>张 19977=>三}
fmt.Println()}
package main
import("fmt")funcmain(){
s :="hello 张三"for_, r :=range s {//rune// 104(h) 101(e) 108(l) 108(l) 111(o) 32( ) 24352(张) 19977(三)
fmt.Printf("%v(%c) ", r, r)}
fmt.Println()}
5.5 字符串反转
package main
funcReverse(s string)string{
r :=[]rune(s)for i, j :=0,len(r)-1; i < j; i, j = i+1, j-1{
r[i], r[j]= r[j], r[i]}returnstring(r)}funcmain(){
a :="Hello, Wrold"println(a)println(Reverse(a))// dlorW ,olleH}