目錄java
1 前言微信
2 字符串操做ide
2.1 字符串聲明與賦值函數
2.2 字符串長度學習
2.3 字符串輪詢spa
2.4 字符串中字符替換blog
1 前言
字符串
若是你對博客有任何疑問或者想更深刻學習 go,請加微信羣,咱們一塊兒進步:博客
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 九析",可是實際結果卻打印出亂碼:
正確使用方式以下:
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,必須通過強制字符串轉換
}
自此,九析帶你輕鬆完爆了基本字符串操做。