GO語言基本類型String和Slice,Map操作詳解_第1頁
GO語言基本類型String和Slice,Map操作詳解_第2頁
GO語言基本類型String和Slice,Map操作詳解_第3頁
GO語言基本類型String和Slice,Map操作詳解_第4頁
GO語言基本類型String和Slice,Map操作詳解_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第GO語言基本類型String和Slice,Map操作詳解目錄本文大綱1、字符串StringString常用操作:獲取長度和遍歷字符串的strings包字符串的strconv包:2、切片Slice3、集合Map

本文大綱

本文繼續(xù)學(xué)習(xí)GO語言基礎(chǔ)知識點(diǎn)。

1、字符串String

String是Go語言的基本類型,在初始化后不能修改,Go字符串是一串固定長度的字符連接起來的字符序列,當(dāng)然它也是一個字節(jié)的切片(Slice)。

import("fmt")

funcmain(){

name:="HelloWorld"http://聲明一個值為HelloWorld的字符串變量name

fmt.Println(name)

String常用操作:獲取長度和遍歷

1、獲取字符串長度:len()函數(shù)

str1:="helloworld"

fmt.Println(len(str1))//11

2、字符串遍歷方式1:

str:="hello"

fori:=0;ilen(str);i++{

fmt.Println(i,str[i])

3、字符串遍歷方式2:

str:="hello"

fori,ch:=rangestr{

fmt.Println(i,ch)

4、使用函數(shù)string()將其他類型轉(zhuǎn)換為字符串

num:=12

fmt.Printf("%T\n",string(num)//"12"string

5、字符串拼接

str1:="hello"

str2:="world"

//創(chuàng)建字節(jié)緩沖

varstringBuilderstrings.Builder

//把字符串寫入緩沖

stringBuilder.WriteString(str1)

stringBuilder.WriteString(str2)

//將緩沖以字符串形式輸出

fmt.Println(stringBuilder.String())

字符串的strings包

//查找s在字符串str中的索引

Index(str,sstring)int

//判斷str是否包含s

Contains(str,sstring)bool

//通過字符串str連接切片s

Join(s[]string,strstring)string

//替換字符串str中old字符串為new字符串,n表示替換的次數(shù),小于0全部替換

Replace(str,old,newstring,nint)string

字符串的strconv包:

用于與基本類型之間的轉(zhuǎn)換,常用函數(shù)有Append、Format、Parse

Append系列函數(shù)將整數(shù)等轉(zhuǎn)換為字符串后,添加到現(xiàn)有的字節(jié)數(shù)組中Format系列函數(shù)把其他類型的轉(zhuǎn)換為字符串Parse系列函數(shù)把字符串轉(zhuǎn)換為其他類型

2、切片Slice

切片(slice)的作用是解決GO數(shù)組長度不能擴(kuò)展的問題。是一種方便、靈活且強(qiáng)大的包裝器。它本身沒有任何數(shù)據(jù),只是對現(xiàn)有數(shù)組的引用。

切片定義

varidentifier[]type

切片不需要說明長度,或使用make()函數(shù)來創(chuàng)建切片:

varslice1[]type=make([]type,len)

也可以簡寫為

slice1:=make([]type,len)

示例

funcmain(){

/*創(chuàng)建切片*/

numbers:=[]int{0,1,2,3,4,5,6,7,8}

printSlice(numbers)

/*打印原始切片*/

fmt.Println("numbers==",numbers)

/*打印子切片從索引1(包含)到索引4(不包含)*/

fmt.Println("numbers[1:4]==",numbers[1:4])

/*默認(rèn)下限為0*/

fmt.Println("numbers[:3]==",numbers[:3])

funcprintSlice(x[]int){

fmt.Printf("len=%dcap=%dslice=%v\n",len(x),cap(x),x)

打印結(jié)果:

len=9cap=9slice=[012345678]

numbers==[012345678]

numbers[1:4]==[123]

numbers[:3]==[012]

3、集合Map

Map是Go語言的內(nèi)置類型,將一個值與一個鍵關(guān)聯(lián)起來,是一種無序的鍵值對的集合,可以使用相應(yīng)的鍵檢索值(類比Java中的Map來記)。

//聲明一個map類型,[]內(nèi)的類型指任意可以進(jìn)行比較的類型int指值類型

m:=map[string]int{"a":1,"b":2}

fmt.Print(m["a"])

示例:

funcmain(){

varcountryCapitalMapmap[string]string

/*創(chuàng)建集合*/

countryCapitalMap=make(map[string]string)

/*map插入key-value對,各個國家對應(yīng)的首都*/

countryCapitalMap["France"]="Paris"

countryCapitalMap["Italy"]="Rome"

countryCapitalMap["Japan"]="Tokyo"

countryCapitalMap["India"]="NewDelhi"

/*使用key輸出map值*/

forcountry:=rangecountryCapitalMap{

fmt.Println("Capitalof",country,"is",countryCapitalMap[country])

}

運(yùn)行結(jié)果:

CapitalofFranceisParis

CapitalofItalyisRome

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論