package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := " Hello world abc \n"
//替换
result := strings.Replace(str,"world","you",1)
fmt.Println(result) //" Hello you abc \n"
//计数
count := strings.Count(str,"l")
fmt.Println(count) // 3
//重复多次
result = strings.Repeat(str,3)
fmt.Println(result) // "Hello world abc \n Hello world abc \n Hello world abc \n"
//转成小写
result = strings.ToLower(str)
fmt.Println(result) //" hello world abc \n"
//转成大写
result = strings.ToUpper(str)
fmt.Println(result) //" HELLO WORLD ABC \n"
//去除两边空白字符
result = strings.TrimSpace(str)
fmt.Println(result) //"Hello you abc"
result = strings.Trim(str," \n\r")
fmt.Println(result)
result = strings.TrimRight(str," \n\r")
fmt.Println(result)
result = strings.TrimLeft(str," \n\r")
fmt.Println(result)
//分割
splitResult := strings.Fields(str)
fmt.Println(splitResult) //[Hello world abc]
for i := 0; i < len(splitResult);i++{
fmt.Println(splitResult[i]) //Hello world abc
}
//自定义分割
splitResult = strings.Split(str,"l")
fmt.Println(splitResult) //[ He o wor d abc \n]
for i := 0; i < len(splitResult);i++{
fmt.Println(splitResult[i]) // He o wor d abc
}
//拼接
str2 := strings.Join(splitResult,"l")
fmt.Println(str2) //" Hello world abc \n"
//整数转字符串
str2 = strconv.Itoa(1000)
fmt.Printf("%T,%s\n",str2,str2)
//字符串转数
number, err := strconv.Atoi(str2)
if err != nil {
fmt.Println("can not conv to int",err)
return
}
fmt.Printf("%d,%T\n",number,number)
}
rand生成随机字符串
package main
import (
"fmt"
"math/rand"
)
func cRandomString(n int) string {
var letter = []byte("asdfghjklqwertyuiopzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM1234567890")
result := make([]byte,n)
rand.Seed(time.Now().Unix())
for i := range result {
result[i] = letter[rand.Intn(len(letter))]
}
return string(result)
}
func main(){
result := cRandomString(10)
fmt.Println(result)
}