golang 學習筆記之字符串

golang 中字符串相關操作用得最多的基礎庫是 strings 和 strconv 


1、strings.HasPrefix 判斷字符串開頭

常見的場景是用來判斷服務地址是HTTP還是HTTPS 協議,例如:

func main() {
   str := "http://www.baidu.com"
   if ok := strings.HasPrefix(str,"http://");ok {
      fmt.Println("it's http protocol")
   }else{
      fmt.Println("unknown")
   }
}



2、strings.HasSuffix 判斷字符串後綴

場景,用於判斷文件類型,例如圖片是否是png格式

func main() {
   pic := "baidu.png"
   if ok := strings.HasSuffix(pic,"png");ok {
      fmt.Println("it's a png image.")
   }
}


3、strings.Contains 判斷字符串中是否包含有子字符串

func main() {
   str := "http://www.baidu.com"
   if ok := strings.Contains(str,"baidu");ok{
      fmt.Println("ok")
   }
}



4、strings.Count 計算子字符串出現次數

func main() {
   str := "http://www.baidu.com/"
   fmt.Println(strings.Count(str,"/"))
}


5、strings.Index 返回子字符串第一次出現位置,不存在則返回-1

對應的是strings.LastIndex ,返回最後一次出現位置,不存在返回-1

func main() {
   str := "http://www.baidu.com/"
   fmt.Println(strings.Index(str,"google"))
   fmt.Println(strings.Index(str,"/"))
   fmt.Println(strings.LastIndex(str,"google"))
   fmt.Println(strings.LastIndex(str,"/"))
}


輸出

-1
5
-1
20


6、strings.Title 返回首字母大寫的標題格式

fmt.Println(strings.Title("welcome to baidu"))

輸出

Welcome To Baidu


7、大小寫轉換

strings.ToUpper   轉換成大寫

strings.ToLower   轉換成小寫

fmt.Println(strings.ToLower("GOPHER"))
fmt.Println(strings.ToUpper("gopher"))


輸出

gopher
GOPHER


8、strings.Repeat 返回count個s串聯的字符串

fmt.Println("http://" + strings.Repeat("w",3) + ".baidu.com")


輸出

http://www.baidu.com


9、strings.Replace  字符串替換

當n<0 時,將替換所有字符串

fmt.Println(strings.Replace(str,"/","#",1))
fmt.Println(strings.Replace(str,"/","#",-1))


輸出

http:#/www.baidu.com/
http:##www.baidu.com#


10、strings.Trim 去掉前後空白符

類似的還有strings.TrimLeft 、strings.TrimRight

fmt.Println(strings.Trim("  http://www.baidu.com         ","    "))


11、strings.Split 字符串分隔

str := "http://www.baidu.com/"
fmt.Println(strings.Split(str,"/"))

輸出

[http:  www.baidu.com ]

12、strings.Join 字符串組合

s := []string{"www","baidu","com"}
fmt.Println(strings.Join(s,"."))

輸出

www.baidu.com


13、字符串與整型數字互轉

strconv.Itoa   整型轉字符串

strconv.Atoi   字符串轉整型,注意這個函數會返回int 和 err

func Atoi(s string) (i int, err error)
n := 123
fmt.Printf("n type:%T\n strconv.Itoa(n) Type: %T\n",n,strconv.Itoa(n))

m := "456"
m2,_ := strconv.Atoi(m)
fmt.Printf("n type:%T\n strconv.Atoi(m) Type: %T\n",n,m2)

輸出

n type:int
 strconv.Itoa(n) Type: string
 
n type:int
 strconv.Atoi(m) Type: int


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章