第五章 九析帶你輕鬆完爆 go - 字符串操做

目錄java

1 前言微信

2 字符串操做ide

    2.1 字符串聲明與賦值函數

    2.2 字符串長度學習

    2.3 字符串輪詢spa

    2.4 字符串中字符替換blog


1 前言
字符串

        若是你對博客有任何疑問或者想更深刻學習 go,請加微信羣,咱們一塊兒進步:博客

1.jpeg


2 字符串操做
string

2.1 字符串聲明與賦值

        字符串聲明和賦值使用 := 操做符。代碼以下:

package main


import "fmt"


func main() {

     s := "hello jiuxi"

     fmt.Println(s)

}

2.2 字符串長度

        獲取字符串長度可使用函數 len()。可是英文字符和中文字符 len() 的處理結果不一樣,英文字符長度爲 1,中文字符長度爲 3。代碼以下:

package main


import "fmt"


func main() {

     enStr := "h"

     cnStr := "九"


     fmt.Printf("the length of enStr is: %d\n", len(enStr))

     fmt.Printf("the length of cnStr is: %d\n", len(cnStr))

}

        輸出結果爲:

the length of enStr is: 1

the length of cnStr is: 3

2.3 字符串輪詢

        字符串經常使用的場景之一是輪詢字符串並獲取其中的字符,可是根據 2.2 所述,中英文字符 len() 值不一樣,所以容易致使 bug 產生,以下代碼所示:

package main


import "fmt"


func main() {

     str := "hello 九析"


     for i := 0; i < len(str); i++ {

          fmt.Println(str[i])

     }

}

        原本但願打印 "hello 九析",可是實際結果卻打印出亂碼:image2.png

        正確使用方式以下:

package main


import "fmt"


func main() {

     str := "hello 九析"

     for _, c := range str {

          fmt.Printf( "%c", c )

    }

}

2.4 字符串中字符替換

        好比想將「九析」變成「八析」該如何操做?代碼以下:

package main


import "fmt"


func main() {

     srcStr := "九析"

     tar := []rune( srcStr )     # 將字符串 strStr 切片,相似 java 的 split

     tar[0] = '八'                # 操做符是 =。由於 = 是賦值,而 := 是變量定義賦值

     fmt.Println( string( tar ) )  # 不能直接輸出 tar,必須通過強制字符串轉換

}

        自此,九析帶你輕鬆完爆了基本字符串操做。

相關文章
相關標籤/搜索