日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang字符串处理

發布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang字符串处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串處理

下面這些函數來自于string包

常用操作

Fields以連續的空白字符為分隔符

// Fields 以連續的空白字符為分隔符,將 s 切分成多個子串,結果中不包含空白字符本身 // 空白字符有:\t, \n, \v, \f, \r, ' ', U+0085 (NEL), U+00A0 (NBSP) // 如果 s 中只包含空白字符,則返回一個空列表 func Fields(s string) []string func main() {s := "Hello, 世界! Hello!"ss := strings.Fields(s)fmt.Printf("%q\n", ss) // ["Hello," "世界!" "Hello!"] }

contains包含子串

func Contains(s, substr string) bool 功能: 字符串s中是否包含substr,返回bool值

例子

func main() {fmt.Println(strings.Contains("abc", "a")) //truefmt.Println(strings.Contains("abc", "")) //truefmt.Println(strings.Contains("", "")) //true }

join按指定方式拼接

func Join(a []string, seq string) string 功能: 字符串鏈接,把slice a通過sep鏈接起來

例子

func main() {s := []string{"foo", "bar", "baz"}//foo, bar, bazfmt.Println(strings.Join(s, ", ")) }

index找位置

還有個LastIndex表示最后出現的位置

func Index(s, sep string) int 功能: 在字符串s中查找sep所在的位置,返回位置值,找不到返回-1

例子

func main() {//3fmt.Println(strings.Index("chiken", "ken")) }

repeat重復多少次

func Repeat(s string, count int) string 功能: 重復s字符串count次,最后返回重復的字符串

例子

func main() {//bananafmt.Println("ba" + strings.Repeat("na", 2)) }

replace按指定替換

fiunc Replace(s, old, new string, n int) string 功能: 在s字符串中,把old字符串替換為new字符串,n表示替換的次數,小于0表示全部替換

例子

func main() {//ab1 efg 1ccfmt.Println(strings.Replace("abc efg ccc", "c", "1", 2)) }

split分割

func Split(s, sep string) []string 功能: 把s字符串按照sep分割,返回slice

例子

func main() {//["a" "b" "c"]fmt.Printf("%q\n", strings.Split("a,b,c", ","))//["" " is c"]fmt.Printf("%q\n", strings.Split("a is c", "a")) }

Trim頭尾去除指定的串

func Trim(s string, cutset string) string 功能: 在s字符串的頭部和尾部去除cutset指定的字符串

例子

func main() {//["aaa"]fmt.Printf("[%q]", strings.Trim(" !!!aaa!!! ", " !")) }

字符串轉換

Append

將整數等轉換為字符串后,添加到現有的字節數組中

func main() {//字節數組str := make([]byte, 0, 100)str = strconv.AppendBool(str, false)//以10進制的方式追加,參數10str = strconv.AppendInt(str, 111, 10)str = strconv.AppendQuote(str, "abcde")str = strconv.AppendQuoteRune(str, '單')//false111"abcde"'單'//轉為string打印fmt.Println(string(str)) }

Format

Format系列函數把其他類型的轉換為字符串

例子

a := strconv.FormatBool(false) //10進制 b := strconv.FormatInt(1234, 10) c := strconv.FormatUint(123444, 10) //整形轉字符串 d := strconv.Itoa(1234)//false 1234 123444 1234 fmt.Println(a, b, c, d)

parse

parse系列函數把字符串轉換為其他類型

//字符串轉其他類型 var flag bool var err error flag, err = strconv.ParseBool("true") if err == nil {//沒有錯誤fmt.Println("flag = ", flag) } else {fmt.Println("err = ", err) }

Atoi

func main() {//_表示丟棄a, _ := strconv.Atoi("567")fmt.Println(a) }

和切片轉換

長度是字節的長度
字符串底層是一個byte數組,所以可以和[]byte類型互相轉換

字符串是不可以修改的

var str = "hello你好" fmt.Printf("str[0]=%c, len(str)=%d\n", str[0], len(str))for index, val := range str {fmt.Println(index, val) } //str['0'] = '1' 錯誤不能修改 var byteSlice []byte byteSlice = []byte(str) byteSlice[0] = '0' str = string(byteSlice)fmt.Println(str)

輸出

str[0]=h, len(str)=11 0 104 1 101 2 108 3 108 4 111 5 20320 8 22909 0ello你好

字節長度和字符長度

rune是字符類型

var str = "hello你好" //字節數組 var rune []byte rune = []byte(str) //11, 11 fmt.Println(len(str), len(rune))var str = "hello你好" //rune是字符類型 var byteSlice []rune byteSlice = []rune(str) //11, 7 fmt.Println(len(str), len(byteSlice))

string和int互相轉換

  • string轉成int:
int, err := strconv.Atoi(string)
  • string轉成int64:
int64, err := strconv.ParseInt(string, 10, 64)
  • int轉成string:
string := strconv.Itoa(int)
  • int64轉成string:
string := strconv.FormatInt(int64,10)
  • string 轉 int32
i32,err := strconv.ParseInt(str,10,32) if err == nil { fmt.Printf("i32: %v\\n", int32(i32)) }
  • int到int64
int64_ := int64(1234)

string和float float32 float64

  • float到string
string := strconv.FormatFloat(float32,'E',-1,32) string := strconv.FormatFloat(float64,'E',-1,64) // 'b' (-ddddp±ddd,二進制指數) // 'e' (-d.dddde±dd,十進制指數) // 'E' (-d.ddddE±dd,十進制指數) // 'f' (-ddd.dddd,沒有指數) // 'g' ('e':大指數,'f':其它情況) // 'G' ('E':大指數,'f':其它情況)
  • string到float64
float,err := strconv.ParseFloat(string,64)
  • string到float32
float,err := strconv.ParseFloat(string,32)

string到time

day,_ := time.Parse("2006-01-02", "2017-11-14") month := time.Unix(day.Unix(), 0).Format("2006-01") //返回2017-11

總結

以上是生活随笔為你收集整理的golang字符串处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品亚洲lv粉色 | 色导航 | 综合久久2o19 | 男人天堂网av | 亚洲av电影一区 | 久久中文字幕电影 | 精品婷婷色一区二区三区蜜桃 | 久久字幕| 国产精品国产三级国产aⅴ无密码 | 欧美日韩影院 | 国产日视频| 国产偷拍一区二区 | 男人天堂网站 | 韩国av免费在线观看 | 天堂8中文 | 天天射网站 | 欧美性猛交富婆 | 伊人中文字幕在线 | 日本熟女一区二区 | 看全色黄大色黄大片女一次牛 | 国产精品一区二区免费 | 在线亚洲+欧美+日本专区 | missav|免费高清av在线看 | www.在线观看麻豆 | 成人国产av一区二区三区 | 国产精品久久久久无码av色戒 | 黄色小说在线观看视频 | 国产一区二区女内射 | 九九热视频免费观看 | 91精品国产aⅴ一区 黄色a网 | 中文字幕不卡在线 | 日韩一卡二卡三卡四卡 | 亚洲AV无码精品黑人黑人 | 97人妻精品一区二区三区视频 | 国产精品乱码一区二区三区 | 亚洲一区二区精品在线观看 | 午夜一区在线观看 | 人人爽av | 久久精品国产一区二区电影 | 人人射人人射 | 人妻换人妻仑乱 | 美女扒开屁股让男人捅 | brazzers欧美一区二区 | 男人插入女人阴道视频 | 伊人影院在线观看 | 波多野结衣中文字幕在线 | 日本黄色一级视频 | 国产精品丝袜黑色高跟 | 国产专区在线视频 | 激情91视频| 国产精品久久久久久久久 | 狂野欧美性猛交xxxx | 国产不卡a | 日本一区二区视频 | a色网站 | 国产乱来 | 羞羞涩 | 日日噜噜噜噜久久久精品毛片 | 欧美日韩国产麻豆 | 欧美在线视频一区二区 | 日韩福利视频 | 成年人免费网站在线观看 | 婷婷激情小说 | 国产精品不卡视频 | 国产欧美日韩精品在线 | 国产一区二区三区三州 | 调教亲女小嫩苞h文小说 | 性生活免费网站 | 亚洲欧美色图在线 | 天天干天天操天天摸 | 西野翔之公侵犯中文字幕 | 91精品久久久久久久久中文字幕 | 精彩久久| 99热最新在线 | 在线观看一区二区三区四区 | 亚洲电影一区二区 | 国产在成人精品线拍偷自揄拍 | 一级免费观看视频 | 成人精品一区二区三区四区 | 波多野结衣a v在线 欧洲免费av | 日本一区二区在线看 | av国产成人 | 美女被草出白浆 | 奇米在线观看 | 蜜桃精品视频在线 | 国产91热爆ts人妖在线 | 国产成人精品综合久久久久99 | 可以免费看的av毛片 | 亚欧美色图 | 依人成人网 | 日本黄色片免费 | 成人福利视频导航 | 好吊操av| 国产精品久久久免费视频 | 国产精品亚洲精品 | 国产真实老熟女无套内射 | 欧美性天堂| 国产尤物在线视频 | 羞羞网站在线观看 |