<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] 包 strings 實現了簡單的函數來操作 UTF-8 編碼的字符串。 # 函數 ## Contains 變量s 包含有 變量substr 字符串。 ```go str := " kef ls jfelsewfe" fmt.Println(strings.Contains(str, "ls")) fmt.Println(strings.Contains(str, "lsfe")) // 運行結果 // true // false ``` ## Count 統計 變量substr 出現在 變量s 幾次 ```go str := " kef ls jfelsewfe" fmt.Println(strings.Count(str, "ls")) // 運行結果 // 2 ``` ## Cut 根據字符串sep來分割字符串s,返回分割前半段,分割后半段,是否分割 ```go str := " kef ls jfelsewfe" b, a, ok := strings.Cut(str, "ls") if ok { fmt.Printf("before is %#v, after is %#v\n", b, a) } else { fmt.Println("sep not found.") } // 運行結果 // before is " kef ", after is " jfelsewfe" ``` ## HasPrefix、HasSuffix 根據字符串prefix來判斷是否字符串s開頭或結尾 ```go str := " kef ls jfelsewfe" fmt.Println(strings.HasPrefix(str, "kef")) fmt.Println(strings.HasPrefix(str, " kef")) fmt.Println(strings.HasSuffix(str, "ewfe")) // 運行結果 // false // true // true ``` ## Index 判斷匹配字符第一次出現str的索引。未匹配到則返回-1 ```go str = "jewpw wef ce" // 返回第一次匹配到的索引(匹配整個字符) fmt.Println(strings.Index(str, "ls")) // 返回第一次匹配到的索引(任一個字符) fmt.Println(strings.IndexAny(str, "wef")) // 運行結果 // -1 // 1 ``` ## LastIndex 判斷匹配字符最后一次出現str的索引。未匹配到則返回-1 ```go str = "jewpw wef cweoes" fmt.Println(strings.LastIndex(str, "we")) fmt.Println(strings.LastIndexAny(str, "we")) // 運行結果 // 11 // 14 ``` ## Join 字符串切片,切片中每個元素使用 sep 連接 ```go strSlice := []string{"jiax", "zeng"} fmt.Println(strings.Join(strSlice, "_")) // 運行結果 // jiax_zeng ``` ## Replace 替換字符串 ```go str = "jewpw wef cweoes" // 將字符串s匹配old的字符串,替換成new的字符串。替換次數 // 替換次數為 -1 ,則說明替換所有old匹配成功的字符串 fmt.Println(strings.Replace(str, "we", "xe", 1)) fmt.Println(strings.Replace(str, "we", "xe", -1)) // 將字符串s匹配old的字符串,替換成new的字符串(所有匹配成功) fmt.Println(strings.ReplaceAll(str, "we", "xe")) // 運行結果 // jewpw xef cweoes // jewpw xef cxeoes // jewpw xef cxeoes ``` ## Split 分割字符串 ```go str = "jiax_zeng_lin" // 根據分隔符sep來分割str數據(所有匹配成功都分割) fmt.Printf("%#v\n", strings.Split(str, "_")) // 根據分隔符sep來分割str數據,n是返回幾個切片元素 // 是從前面開始分割的,-1 是分割所有匹配成功的 fmt.Printf("%#v\n", strings.SplitN(str, "_", 2)) fmt.Printf("%#v\n", strings.SplitN(str, "_", -1)) // 根據分隔符sep來分割str數據(所有匹配成功都分割),返回字符串切片包含分割符號 fmt.Printf("%#v\n", strings.SplitAfter(str, "_")) // 根據分隔符sep來分割str數據,n是返回幾個切片元素 // 是從前面開始分割的,-1 是分割所有匹配成功的 // 返回字符串切片包含分割符號 fmt.Printf("%#v\n", strings.SplitAfterN(str, "_", 2)) fmt.Printf("%#v\n", strings.SplitAfterN(str, "_", -1)) // 運行結果 // []string{"jiax", "zeng", "lin"} // []string{"jiax", "zeng_lin"} // []string{"jiax", "zeng", "lin"} // []string{"jiax_", "zeng_", "lin"} // []string{"jiax_", "zeng_lin"} // []string{"jiax_", "zeng_", "lin"} ``` ## Title 將單詞首字母大寫 ```go str = "i love china" fmt.Println(strings.Title(str)) // 運行結果 // I Love China ``` ## ToLower、ToUpper 將字符串轉換成大小寫 ```go str = "my name is jiaxzeng, i love China." fmt.Println(strings.ToLower(str)) fmt.Println(strings.ToUpper(str)) // 運行結果 // my name is jiaxzeng, i love china. // MY NAME IS JIAXZENG, I LOVE CHINA. ``` ## Trim 切割字符串 ```go str = " jewpw wef cweoes " // 切割前后的字符串 fmt.Printf("%#v\n", strings.Trim(str, " ")) // 切割前后的空格、tab鍵、換行符 fmt.Printf("%#v\n", strings.TrimSpace(str)) // 切割前綴的字符串 fmt.Printf("%#v\n", strings.TrimPrefix(str, " ")) // 切割結尾的字符串 fmt.Printf("%#v\n", strings.TrimSuffix(str, " ")) // 運行結果 // "\tjewpw wef cweoes" // "jewpw wef cweoes" // "\tjewpw wef cweoes " // " \tjewpw wef cweoes" ``` # Reader 結構體 Reader 通過讀取字符串來實現 io.Reader、io.ReaderAt、io.ByteReader、io.ByteScanner、io.RuneReader、io.RuneScanner、io.Seeker 和 io.WriterTo 接口。 Reader 的零值的操作類似于空字符串的 Reader。 ## NewReader NewReader 返回一個從 s 讀取的新 Reader。 它類似于 bytes.NewBufferString 但更高效且只讀。 ```go reader := strings.NewReader("jiaxzeng") fmt.Printf("type: %T\n", reader) // 運行結果 // type: *strings.Reader ``` ## Len Len 返回字符串未讀部分的字節數。 ```go reader := strings.NewReader("jiaxzeng") fmt.Println(reader.Len()) // 運行結果 // 8 ``` ## Size Size 返回基礎字符串的原始長度。 ```go reader := strings.NewReader("jiaxzeng") fmt.Println(reader.Size()) // 運行結果 // 8 ``` ## Read Read 讀取 reader 的內容 ```go reader := strings.NewReader("jiaxzeng") buf := make([]byte, 4) for { n, err := reader.Read(buf) if err == io.EOF { break } fmt.Printf("read context: %v\n", string(buf[:n])) } // 運行結果 // read context: jiax // read context: zeng ``` 官網文檔:https://pkg.go.dev/strings@go1.18.10
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看