亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

GO語(yǔ)言入門學(xué)習(xí)之基本數(shù)據(jù)類型字符串

 更新時(shí)間:2022年04月17日 08:12:45   作者:PENGJUNQIAO  
字符串在Go語(yǔ)言中以原生數(shù)據(jù)類型出現(xiàn),使用字符串就像使用其他原生數(shù)據(jù)類型(int、bool、float32、float64 等)一樣,下面這篇文章主要給大家介紹了關(guān)于GO語(yǔ)言入門學(xué)習(xí)之基本數(shù)據(jù)類型字符串的相關(guān)資料,需要的朋友可以參考下

字符串

Go語(yǔ)言中的字符串以原生數(shù)據(jù)類型出現(xiàn)。 Go 語(yǔ)言里的字符串的內(nèi)部實(shí)現(xiàn)使用UTF-8編碼。 字符串的值為雙引號(hào)(")中的內(nèi)容,可以在Go語(yǔ)言的源碼中直接添加非ASCII碼字符

GO語(yǔ)言中字符串是用雙引號(hào)包裹的

GO語(yǔ)言中單引號(hào)包裹的是字符

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

字符串轉(zhuǎn)義符

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

字符串的常用操作

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

  • strings.HasPrefix,strings.HasSuffix 前綴/后綴判斷
  • strings.Index(),strings.LastIndex() 子串出現(xiàn)的位置
  • strings.Join(a[]string, sep string) join操作
package main

import (
	"fmt"
	"strings"
)

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

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

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

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

	// 字符串拼接
	name := "理想"
	world := "遠(yuǎn)大"
	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類型

字符用單引號(hào)(’)包裹起來(lái)

Go 語(yǔ)言的字符有以下兩種:

  • uint8類型,或者叫 byte 型,代表了ASCII碼的一個(gè)字符。
  • rune類型,代表一個(gè) UTF-8字符。rune類型實(shí)際是一個(gè)int32

字符串底層是一個(gè)byte數(shù)組,可以和[]byte類型相互轉(zhuǎn)換。字符串是不能修改的 字符串是由byte字節(jié)組成,所以字符串的長(zhǎng)度是byte字節(jié)的長(zhǎng)度。 rune類型用來(lái)表示utf8字符,一個(gè)rune字符由一個(gè)或多個(gè)byte組成。

修改字符串

要修改字符串,需要先將其轉(zhuǎn)換成[]rune或[]byte,完成后再轉(zhuǎn)換為string。無(wú)論哪種轉(zhuǎn)換,都會(huì)重新分配內(nèi)存,并復(fù)制字節(jié)數(shù)組。

類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換的基本語(yǔ)法如下:

T(表達(dá)式)

其中,T表示要轉(zhuǎn)換的類型。表達(dá)式包括變量、復(fù)雜算子和函數(shù)返回值等.

package main

import (
	"fmt"
)

func main() {
	s := "Hello 中國(guó)"
	// len()求的是byte字節(jié)的數(shù)量
	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) // 把字符串強(qiáng)制轉(zhuǎn)換成了一個(gè)rune切片
	s3[0] = '紅' // 單引號(hào)表示字符
	fmt.Println(string(s3)) // 把rune切片強(qiáng)制轉(zhuǎn)換成字符串

	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

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

總結(jié)

到此這篇關(guān)于GO語(yǔ)言入門學(xué)習(xí)之基本數(shù)據(jù)類型字符串的文章就介紹到這了,更多相關(guān)GO語(yǔ)言數(shù)據(jù)類型字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語(yǔ)言json編碼駝峰轉(zhuǎn)下劃線、下劃線轉(zhuǎn)駝峰的實(shí)現(xiàn)

    Go語(yǔ)言json編碼駝峰轉(zhuǎn)下劃線、下劃線轉(zhuǎn)駝峰的實(shí)現(xiàn)

    這篇文章主要介紹了Go語(yǔ)言json編碼駝峰轉(zhuǎn)下劃線、下劃線轉(zhuǎn)駝峰的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • golang gorm多條件篩選查詢操作

    golang gorm多條件篩選查詢操作

    這篇文章主要介紹了golang gorm多條件篩選查詢操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • 詳解golang開發(fā)中http請(qǐng)求redirect的問題

    詳解golang開發(fā)中http請(qǐng)求redirect的問題

    這篇文章主要介紹了詳解golang開發(fā)中http請(qǐng)求redirect的問題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 深度剖析Golang如何實(shí)現(xiàn)GC掃描對(duì)象

    深度剖析Golang如何實(shí)現(xiàn)GC掃描對(duì)象

    這篇文章主要為大家詳細(xì)介紹了Golang是如何實(shí)現(xiàn)GC掃描對(duì)象的,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考一下
    2023-03-03
  • GO語(yǔ)言實(shí)現(xiàn)列出目錄和遍歷目錄的方法

    GO語(yǔ)言實(shí)現(xiàn)列出目錄和遍歷目錄的方法

    這篇文章主要介紹了GO語(yǔ)言實(shí)現(xiàn)列出目錄和遍歷目錄的方法,涉及ioutil.ReadDir()與filepath.Walk()的應(yīng)用,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • Go語(yǔ)言atomic.Value如何不加鎖保證數(shù)據(jù)線程安全?

    Go語(yǔ)言atomic.Value如何不加鎖保證數(shù)據(jù)線程安全?

    這篇文章主要介紹了Go語(yǔ)言atomic.Value如何不加鎖保證數(shù)據(jù)線程安全詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Go語(yǔ)言并發(fā)之Select多路選擇操作符用法詳解

    Go語(yǔ)言并發(fā)之Select多路選擇操作符用法詳解

    Go?語(yǔ)言借用多路復(fù)用的概念,提供了?select?關(guān)鍵字,用于多路監(jiān)聽多個(gè)通道,本文就來(lái)和大家聊聊Go語(yǔ)言中Select多路選擇操作符的具體用法,希望對(duì)大家有所幫助
    2023-06-06
  • Go Time庫(kù)中時(shí)間和日期相關(guān)的操作方法整理

    Go Time庫(kù)中時(shí)間和日期相關(guān)的操作方法整理

    這篇文章主要為大家整理了Go語(yǔ)言中的time庫(kù),包括時(shí)間、日期和時(shí)區(qū)等相關(guān)概念及使用方法,希望通過(guò)掌握這些知識(shí),大家可以更好地處理時(shí)間、日期和時(shí)區(qū)相關(guān)的問題
    2023-08-08
  • Go語(yǔ)言中Timer計(jì)時(shí)器的使用技巧詳解

    Go語(yǔ)言中Timer計(jì)時(shí)器的使用技巧詳解

    Go語(yǔ)言中的time包里有個(gè)Timer計(jì)時(shí)器的功能,這篇文章主要就是來(lái)和大家介紹一下Timer計(jì)時(shí)器的使用技巧,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-07-07
  • Golang開發(fā)之字符串與切片問題踩坑記錄

    Golang開發(fā)之字符串與切片問題踩坑記錄

    字符串和切片,都是golang常用的兩種內(nèi)置數(shù)據(jù)類型,最近在日常工作中,遇到了一個(gè)字符串切片導(dǎo)致的問題,記錄一下排查問題的過(guò)程,避免后續(xù)在這種場(chǎng)景上踩坑
    2023-07-07

最新評(píng)論