溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang 學習筆記之字符串

發布時間:2020-07-18 04:05:35 來源:網絡 閱讀:576 作者:筑夢攻城獅 欄目:編程語言

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女