最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GO語言入門學習之基本數(shù)據(jù)類型字符串

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

字符串

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

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

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

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

字符串轉(zhuǎn)義符

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

字符串的常用操作

              方法                       介紹   
           len(str)                    求長度  
         +或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(){
	// \ 本來是具有特殊含義的,告訴程序\就是一個單純的\
	path := "\"E:\\36期Python全棧開發(fā)資料\\Administrator(8E5370323193)\\預(yù)習(2)\""
	path1 := "'E:\\36期Python全棧開發(fā)資料\\Administrator(8E5370323193)\\預(yù)習(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ù)習(2)`
	fmt.Println(s3)

	// 字符串相關(guān)操作
	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數(shù)組,可以和[]byte類型相互轉(zhuǎn)換。字符串是不能修改的 字符串是由byte字節(jié)組成,所以字符串的長度是byte字節(jié)的長度。 rune類型用來表示utf8字符,一個rune字符由一個或多個byte組成。

修改字符串

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

類型轉(zhuǎn)換

強制類型轉(zhuǎn)換的基本語法如下:

T(表達式)

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

package main

import (
	"fmt"
)

func main() {
	s := "Hello 中國"
	// 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) // 把字符串強制轉(zhuǎn)換成了一個rune切片
	s3[0] = '紅' // 單引號表示字符
	fmt.Println(string(s3)) // 把rune切片強制轉(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語言入門學習之基本數(shù)據(jù)類型字符串的文章就介紹到這了,更多相關(guān)GO語言數(shù)據(jù)類型字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Golang的Crypto/SHA256庫實戰(zhàn)指南

    Golang的Crypto/SHA256庫實戰(zhàn)指南

    無論是在保護數(shù)據(jù)安全、驗證數(shù)據(jù)完整性,還是在構(gòu)建復雜的安全系統(tǒng)中,crypto/sha256都是Golang程序員不可或缺的工具,本文主要介紹了Golang的Crypto/SHA256庫實戰(zhàn)指南,感興趣的可以了解一下
    2024-02-02
  • GO語言對數(shù)組切片去重的實現(xiàn)

    GO語言對數(shù)組切片去重的實現(xiàn)

    本文主要介紹了GO語言對數(shù)組切片去重的實現(xiàn),主要介紹了幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Golang語言如何讀取http.Request中body的內(nèi)容

    Golang語言如何讀取http.Request中body的內(nèi)容

    這篇文章主要介紹了Golang語言如何讀取http.Request中body的內(nèi)容問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 淺析Golang切片截取功能與C++的vector區(qū)別

    淺析Golang切片截取功能與C++的vector區(qū)別

    這篇文章主要介紹了Golang中切片的截取功能與C++中的vector有什么區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • Go標準庫Flag庫和Log庫的使用

    Go標準庫Flag庫和Log庫的使用

    本文主要介紹了Go標準庫Flag庫和Log庫的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • 詳解如何在Go中實現(xiàn)優(yōu)雅停止

    詳解如何在Go中實現(xiàn)優(yōu)雅停止

    和其他語言相比,Go 中有相同也有不同,相同的是實現(xiàn)思路上和其他語言沒啥差異,不同在于 Go 采用的是 goroutine + channel 的并發(fā)模型,與傳統(tǒng)的進程線程相比,實現(xiàn)細節(jié)上存在差異,本文將從實際場景和它的一般實現(xiàn)方式展開,逐步討論這個話題,需要的朋友可以參考下
    2024-04-04
  • golang testing使用示例小結(jié)

    golang testing使用示例小結(jié)

    golang自帶了testing測試包,使用該包可以進行自動化的單元測試,輸出結(jié)果驗證,并且可以測試性能,下面通過示例代碼給大家講解golang testing使用示例小結(jié),感興趣的朋友一起看看吧
    2024-05-05
  • Go語言中的自定義函數(shù)類型的實現(xiàn)

    Go語言中的自定義函數(shù)類型的實現(xiàn)

    在Go語言中,函數(shù)類型是一種將函數(shù)作為值的數(shù)據(jù)類型,本文主要介紹了Go語言中的自定義函數(shù)類型,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能

    使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能

    這篇文章主要介紹了使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • golang 比較浮點數(shù)的大小方式

    golang 比較浮點數(shù)的大小方式

    這篇文章主要介紹了golang 比較浮點數(shù)的大小方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論

新邵县| 泰安市| 大邑县| 佛学| 察哈| 襄樊市| 江油市| 穆棱市| 石台县| 池州市| 铁岭市| 阿拉善盟| 方城县| 衡阳市| 志丹县| 民和| 永丰县| 威远县| 甘肃省| 兴隆县| 巴里| 林周县| 玛曲县| 静宁县| 佛学| 万山特区| 格尔木市| 华容县| 临泉县| 嘉善县| 隆尧县| 保山市| 桃源县| 武清区| 湘西| 曲麻莱县| 读书| 乌审旗| 万州区| 仪陇县| 抚州市|