<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文繼續學習GO語言基礎知識點。
String
是Go語言的基本型別,在初始化後不能修改,Go字串是一串固定長度的字元連線起來的字元序列,當然它也是一個位元組的切片(Slice)。
import ("fmt") func main() { name := "Hello World" //宣告一個值為 Hello World的字串變數 name fmt.Println(name) }
1、獲取字串長度:len()函數
str1 := "hello world" fmt.Println(len(str1)) // 11
2、字串遍歷方式1:
str := "hello" for i := 0; i < len(str); i++ { fmt.Println(i,str[i]) }
3、字串遍歷方式2:
str := "hello" for i,ch := range str { fmt.Println(i,ch) }
4、使用函數string()將其他型別轉換為字串
num := 12 fmt.Printf("%T n", string(num) // "12" string
5、字串拼接
str1 := "hello " str2 := " world" //建立位元組緩衝 var stringBuilder strings.Builder //把字串寫入緩衝 stringBuilder.WriteString(str1) stringBuilder.WriteString(str2) //將緩衝以字串形式輸出 fmt.Println(stringBuilder.String())
//查詢s在字串str中的索引 Index(str, s string) int //判斷str是否包含s Contains(str, s string) bool //通過字串str連線切片 s Join(s []string, str string) string //替換字串str中old字串為new字串,n表示替換的次數,小於0全部替換 Replace(str,old,new string,n int) string
用於與基本型別之間的轉換,常用函數有Append、Format、Parse
切片(slice)的作用是解決GO陣列長度不能擴充套件的問題。是一種方便、靈活且強大的包裝器。它本身沒有任何資料,只是對現有陣列的參照。
切片定義
var identifier []type
切片不需要說明長度, 或使用make()函數來建立切片:
var slice1 []type = make([]type, len) 也可以簡寫為 slice1 := make([]type, len)
範例
func main() { /* 建立切片 */ 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]) /* 預設下限為 0*/ fmt.Println("numbers[:3] ==", numbers[:3]) } func printSlice(x []int){ fmt.Printf("len=%d cap=%d slice=%vn",len(x),cap(x),x) } 列印結果: len=9 cap=9 slice=[0 1 2 3 4 5 6 7 8] numbers == [0 1 2 3 4 5 6 7 8] numbers[1:4] == [1 2 3] numbers[:3] == [0 1 2]
Map是Go語言的內建型別,將一個值與一個鍵關聯起來,是一種無序的鍵值對的集合,可以使用相應的鍵檢索值(類比Java中的Map來記)。
// 宣告一個map型別,[]內的型別指任意可以進行比較的型別 int指值型別 m := map[string]int{"a":1,"b":2} fmt.Print(m["a"])
範例:
func main() { var countryCapitalMap map[string]string /* 建立集合 */ countryCapitalMap = make(map[string]string) /* map 插入 key-value 對,各個國家對應的首都 */ countryCapitalMap["France"] = "Paris" countryCapitalMap["Italy"] = "Rome" countryCapitalMap["Japan"] = "Tokyo" countryCapitalMap["India"] = "New Delhi" /* 使用 key 輸出 map 值 */ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) }
執行結果:
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
以上就是GO語言基本型別String和Slice,Map操作詳解的詳細內容,更多關於GO基本型別String Slice Map的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45