91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO語言基本數據類型字符串怎么用

發布時間:2022-04-18 10:39:41 來源:億速云 閱讀:140 作者:iii 欄目:開發技術

這篇文章主要介紹“GO語言基本數據類型字符串怎么用”,在日常操作中,相信很多人在GO語言基本數據類型字符串怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”GO語言基本數據類型字符串怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

字符串

Go語言中的字符串以原生數據類型出現。 Go 語言里的字符串的內部實現使用UTF-8編碼。 字符串的值為雙引號(")中的內容,可以在Go語言的源碼中直接添加非ASCII碼字符

GO語言中字符串是用雙引號包裹的

GO語言中單引號包裹的是字符

// 字符串
s := "Hello 中國"
// 單獨的字母、漢字、符合表示一個字符
c1 := 'h'
c2 := '1'
c3 := '中'
// 字節:1字節=8Bit(8個二進制位)
// 1個字符'A'=1個字節
// 1個utf8編碼的漢字'中'= 一般占3個字節

字符串轉義符

轉義符 含義
\r 回車符(返回行首)
\n 換行符(直接跳到下一行的同列位置)
\t 制表符
' 單引號
" 雙引號
\ 反斜杠

字符串的常用操作

              方法                       介紹   
           len(str)                    求長度  
         +或fmt.Sprintf                拼接字符串 
         strings.Split                 分割   
       strings.contains              判斷是否包含 

  • strings.HasPrefix,strings.HasSuffix 前綴/后綴判斷

  • strings.Index(),strings.LastIndex() 子串出現的位置

  • strings.Join(a[]string, sep string) join操作

package main

import (
	"fmt"
	"strings"
)

// 字符串
func main(){
	// \ 本來是具有特殊含義的,告訴程序\就是一個單純的\
	path := "\"E:\\36期Python全棧開發資料\\Administrator(8E5370323193)\\預習(2)\""
	path2 := "'E:\\36期Python全棧開發資料\\Administrator(8E5370323193)\\預習(2)'"
	fmt.Println(path)
	fmt.Println(path2)

	s := "I'm ok"
	fmt.Println(s)

	// 多行的字符串
	s2 := `
	世情薄
	人情惡
	雨送黃昏花易落
	`
	fmt.Println(s2)
	s3 := `E:\36期Python全棧開發資料\Administrator(8E5370323193)\預習(2)`
	fmt.Println(s3)

	// 字符串相關操作
	fmt.Println(len(s3))

	// 字符串拼接
	name := "理想"
	world := "遠大"
	ss := name + world
	fmt.Println(ss)
	ss1 := fmt.Sprintf("%s%s", name, world)
	// fmt.Printf("%s%s", name, world)
	fmt.Println(ss1)
	// 分割
	ret := strings.Split(s3, "\\")
	fmt.Println(ret)

	// 包含
	fmt.Println(strings.Contains(ss, "理想"))
	// 前綴
	fmt.Println(strings.HasPrefix(ss, "理想"))
	// 后綴
	fmt.Println(strings.HasSuffix(ss, "理想"))

	s4 := "abcded"
	fmt.Println(strings.Index(s4, "c"))
	fmt.Println(strings.LastIndex(s4, "c"))
	fmt.Println(strings.Index(s4, "d"))
	fmt.Println(strings.LastIndex(s4, "d"))
	// 拼接
	fmt.Println(strings.Join(ret, "+"))
}

byte和rune類型

字符用單引號(’)包裹起來

Go 語言的字符有以下兩種:

  • uint8類型,或者叫 byte 型,代表了ASCII碼的一個字符。

  • rune類型,代表一個 UTF-8字符。rune類型實際是一個int32

字符串底層是一個byte數組,可以和[]byte類型相互轉換。字符串是不能修改的 字符串是由byte字節組成,所以字符串的長度是byte字節的長度。 rune類型用來表示utf8字符,一個rune字符由一個或多個byte組成。

修改字符串

要修改字符串,需要先將其轉換成[]rune或[]byte,完成后再轉換為string。無論哪種轉換,都會重新分配內存,并復制字節數組。

類型轉換

強制類型轉換的基本語法如下:

T(表達式)

其中,T表示要轉換的類型。表達式包括變量、復雜算子和函數返回值等.

package main

import (
	"fmt"
)

func main() {
	s := "Hello 中國"
	// len()求的是byte字節的數量
	n := len(s)
	fmt.Println(n)

	// for i := 0; i < len(s); i++ {
	// 	fmt.Println(s[i])
	// 	fmt.Printf("%c\n", s[i]) // %c:字符
	// }

	// 字符串修改
	s2 := "白蘿卜" // [白 蘿 卜]
	s3 := []rune(s2) // 把字符串強制轉換成了一個rune切片
	s3[0] = '紅' // 單引號表示字符
	fmt.Println(string(s3)) // 把rune切片強制轉換成字符串

	c1 := "紅"
	c2 := '紅' // rune(int32)
	fmt.Printf("c1:%T c2:%T\n", c1, c2) // c1:string c2:int32
	c3 := "H"
	c4 := 'H'
	c5 := byte('H')
	fmt.Printf("c3:%T c4:%T\n", c3, c4) // c3:string c4:int32
	fmt.Printf("c4:%d\n", c4) // c4:72
	fmt.Printf("c5:%T\n", c5) // c5:uint8

	// 類型轉換
	n1 := 10 // int
	var f float64
	f = float64(n1)
	fmt.Println(f)
	fmt.Printf("%T\n", f) // float64
}

到此,關于“GO語言基本數據類型字符串怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康平县| 岢岚县| 永定县| 吴桥县| 成武县| 合阳县| 岚皋县| 旌德县| 屯留县| 南投县| 吉安市| 玉门市| 霍山县| 德格县| 呼玛县| 枞阳县| 江陵县| 伊宁市| 哈尔滨市| 灵山县| 宁夏| 台前县| 鹤山市| 托克逊县| 始兴县| 古田县| 乐至县| 乾安县| 灵武市| 奎屯市| 棋牌| 正蓝旗| 阜新| 綦江县| 扬中市| 昌图县| 玉龙| 昌乐县| 全南县| 勃利县| 改则县|