<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 1.字符串 Go語言中的字符串以原生數據類型出現,使用字符串就像使用其他原生數據類型`(int、bool、float32、float64 等)`一樣。 Go 語言里的字符串的內部實現使用UTF-8編碼 ~~~ s1 := "hello" s2 := "你好" ~~~ Go語言中的字符串是一個字節切片 rune 是 Go 語言的內建類型,它也是 int32 的別稱。在 Go 語言中,rune 表示一個代碼點。代碼點無論占用多少個字節,都可以用一個 rune 來表示 ~~~ package main import ( "fmt" ) func printBytes(s string) { for i:= 0; i < len(s); i++ { fmt.Printf("%x ", s[i]) } } func printChars(s string) { runes := []rune(s) for i:= 0; i < len(runes); i++ { fmt.Printf("%c ",runes[i]) } } func printCharsAndBytes(s string) { for index, rune := range s { fmt.Printf("%c starts at byte %d\n", rune, index) } } func main() { name := "Hello World" printBytes(name) fmt.Printf("\n") printChars(name) fmt.Printf("\n\n") name = "Se?or" printBytes(name) fmt.Printf("\n") printChars(name) } ~~~ ### 1.1 多行字符串 Go語言中要定義一個多行字符串時,就必須使用`反引號`字符: ~~~ s1 := `第一行 第二行 第三行 ` fmt.Println(s1) ~~~ 反引號間換行將被作為字符串中的換行,但是所有的轉義字符均無效,文本將會原樣輸出 ### 1.2 字符串的常用操作 | 方法 | 介紹 | | --- | --- | | len(str) | 求長度 | | +或fmt.Sprintf | 拼接字符串 | | strings.Split | 分割 | | strings.Contains | 判斷是否包含 | | strings.HasPrefix,strings.HasSuffix | 前綴/后綴判斷 | | strings.Index(),strings.LastIndex() | 子串出現的位置 | | strings.Join(a[]string, sep string) | join操作 | ### 1.3 utf8.RuneCountInString(s) utf8 package包中的`func RuneCountInString(s string) (n int)`方法用來獲取字符串的長度。這個方法傳入一個字符串參數然后返回字符串中的 rune 的數量 ~~~ func length(s string) { fmt.Printf("length of %s is %d\n", s, utf8.RuneCountInString(s)) } ~~~ ### 1.4 修改字符串 要修改字符串,需要先將其轉換成`[]rune或[]byte`,完成后再轉換為`string`。無論哪種轉換,都會重新分配內存,并復制字節數組。 ~~~ func changeString() { s1 := "hello" // 強制類型轉換 byteS1 := []byte(s1) byteS1[0] = 'H' fmt.Println(string(byteS1)) s2 := "博客" runeS2 := []rune(s2) runeS2[0] = '狗' fmt.Println(string(runeS2)) } ~~~ ## 字符串處理函數包 strings strconv ***** 【知識點】 * Go 中的字符串是不可變的。一旦一個字符串被創建,那么它將無法被修改 * string是數據類型不是引用或指針類型; * string是只讀的byte slice,len函數=string包含的byte數組長度 * string的byte可以存放任何數據
                  <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>

                              哎呀哎呀视频在线观看