在Go語言中,字串是一種非常重要的資料型別。 Go語言中的字串是一個不可變的序列,是由零個或多個位元組組成的。在實際應用中,我們常常需要將字串進行轉換、處理等操作。本文將介紹Go語言中常用的字串轉換相關運算。
一、字串和位元組切片的轉換
Go語言中的字串和位元組切片是兩種常用的資料類型,它們之間的轉換是非常常見的操作。
將字串轉為位元組切片:使用Go語言內建的[]byte
函數將字串轉為位元組切片。
str := "Hello World" byteSlice := []byte(str)
將位元組切片轉為字串:使用Go語言內建的string
函數將位元組切片轉為字串。
byteSlice := []byte{'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'} str := string(byteSlice)
在實際應用中,字串和位元組切片的轉換經常被用來進行網路通訊、檔案讀寫等操作。
二、字串和數值類型的轉換
在實際應用中,我們可能需要將字串轉為數值類型,或將數值類型轉為字串。
Go語言中提供了多種方法將字串轉為數值類型。
使用strconv
套件中的Atoi
函數將字串轉為int
類型。
str := "123" n, err := strconv.Atoi(str) if err != nil { //转换失败 }
使用strconv
套件中的ParseInt
函數將字串轉為任意進位的整數數。
str := "101011" n, err := strconv.ParseInt(str, 2, 64) if err != nil { //转换失败 }
使用strconv
套件中的ParseFloat
函數將字串轉為浮點數。第二個參數指定浮點數的位數,第三個參數指定浮點數的精確度。
str := "3.14" f, err := strconv.ParseFloat(str, 64) if err != nil { //转换失败 }
使用strconv
套件中的Itoa
#函數將int
類型轉為字串。
n := 123 str := strconv.Itoa(n)
使用strconv
套件中的FormatInt
函數將整數數轉為任意進位的字串。
n := int64(42) str := strconv.FormatInt(n, 16)
三、字串的分割和拼接
在實際應用中,我們經常需要將一個字串依照指定的分隔符號分割,或將多個字串拼接成一個字串。
使用strings
套件中的Split
函數將字串依照指定的分隔符號進行分割,傳回一個字串切片。
str := "a,b,c,d" strSlice := strings.Split(str, ",") fmt.Println(strSlice) //["a", "b", "c", "d"]
使用
運算子將多個字串拼接成一個字串,或使用strings
套件中的Join
函數將字串切片拼接成一個字串。
str1 := "hello" str2 := "world" str3 := str1 + " " + str2 fmt.Println(str3) //"hello world" strSlice := []string{"a", "b", "c", "d"} str := strings.Join(strSlice, "-") fmt.Println(str) //"a-b-c-d"
四、字串的大小寫轉換
在實際應用中,我們經常需要將字串的大小寫進行轉換。
使用strings
套件中的ToUpper
函數將字串轉為大寫。
str := "Hello World" str = strings.ToUpper(str) fmt.Println(str) //"HELLO WORLD"
使用strings
套件中的ToLower
函數將字串轉為小寫。
str := "Hello World" str = strings.ToLower(str) fmt.Println(str) //"hello world"
五、字串的截取
在實際應用中,我們經常需要從字串中截取指定的子字串。
使用strings
套件中的Substring
函數從字串中截取指定的子字串。
str := "Hello World" subStr := str[0:5] fmt.Println(subStr) //"Hello"
以上就是Go語言中常用的字串轉換相關操作。掌握了這些技巧,可以更方便地進行字串的處理,提高程式效率。
以上是golang符串轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!