




下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 31710.5-2022休閑露營地建設(shè)與服務(wù)規(guī)范第5部分:露營公園
- GB/T 22486-2022城市軌道交通客運(yùn)服務(wù)規(guī)范
- DZ/T 0276.6-2015巖石物理力學(xué)性質(zhì)試驗規(guī)程第6部分:巖石硬度試驗
- DZ/T 0196.8-1997測井儀通用技術(shù)條件測井絞車和控制器
- DZ/T 0154-1995地面沉降水準(zhǔn)測量規(guī)范
- DZ/T 0138-1994地質(zhì)儀器產(chǎn)品圖樣與設(shè)計文件的標(biāo)準(zhǔn)化審查
- CJ/T 402-2012城市供熱管道用波紋管補(bǔ)償器
- CJ/T 240-2006城市客車氣壓盤式制動器
- CJ/T 190-2015鋁塑復(fù)合管用卡壓式管件
- CJ/T 137-2001給水襯塑可鍛鑄鐵管件
- (高清版)DZT 0145-2017 土壤地球化學(xué)測量規(guī)程
- 下肢動靜脈潰瘍的護(hù)理
- 高校物業(yè)學(xué)生宿舍管理服務(wù)方案
- 年產(chǎn)5萬噸丙烯直接水合制備異丙醇工藝Aspen模擬
- 果醬控制方案
- 高中物理選擇性必修2教材習(xí)題答案
- 中醫(yī)眼科常見病弱視的中醫(yī)調(diào)節(jié)指南與藥物療法
- 視覺功能評估的方法和工具
- 第十三章 被子植物3
- 旅游公司內(nèi)部承包協(xié)議
- 《高中英語公開課課件:聽力技巧與提高》
評論
0/150
提交評論