本章詳細介紹陣列、切片、對映,以及列表的增刪改查的使用方法。
1、宣告陣列
var 陣列變數名 [元素數量]t
其中元素數量必須是編譯時就確定的整型值,t可以為任意基本型別
例:
//定義乙個長度為3的string陣列,陣列名為team
var team [3]string
team[0]="hammer"
team[1]="soldier"
team[2]="mum"
fmt.println(team)
2、初始化陣列
var team = [3]string
//「...」表示讓編譯器確定陣列的大小
var team = [...]string
3、遍歷陣列
var team = [3]string
for k,v:=range team
1、宣告切片
var name t
name 表示切片型別的變數名
t表示切片型別對應的元素型別
//宣告字串切片
var str_list string
//宣告整型切片
var num_list int
//宣告乙個空切片
var num_list_empty = int{}
//輸出三個切片
fmt.println(str_list,num_list,num_list_empty)
//輸出三個切片的大小
fmt.println(len(str_list),len(num_list),len(num_list_empty))
//切片判定空的結果
fmt.println(str_list == nil)
fmt.println(num_list == nil)
fmt.println(num_list_empty == nil)
2、使用make()函式構造切片
格式make(t,size,cap)
t:切片元素型別
size:分配元素個數
cap:預分配元素數量,對size沒有影響
切片容量的擴充套件規律按照容量的2倍數擴充。
//一次新增乙個元素,還可以新增多個或整個切片
var numbers int
for i:=0;i<10 ;i++
//新增整個切片
4、複製乙個切片元素到另乙個切片
內建的copy()函式
copy(dest_slice, src_slice t)
src_slice表示源切片
dest_slice為複製的目標。
package mainmap使用雜湊表(hash)實現。import "fmt"
func main()
//指定刪除位置
index:=2
fmt.println(seq)
定義:map[key_type]value_type。
key_type為鍵型別,value_type為鍵對應的值型別。
scene:=make(map[string]int)
scene["route"]=66
fmt.println(scene["route"])
v:=scene["route2"]
fmt.println(v)
//另一種方法
m:=map[string]string
2、map遍歷
scene:=make(map[string]int)
scene["route"]=66
scene["brazil"]=4
scene["china"]=960
for k,v:= range scene
3、刪除鍵值對
delete(map,鍵)
4、併發環境中使用的map--sync.map
package main
import (
"fmt"
"sync"
)func main() ) bool )
}
go語言中列表使用container/list包來實現,內部實現原理是雙鏈表。列表能夠高效地進行任意位置的元素插入和刪除操作。
1、初始化列表
new和宣告兩種方法。
new的方法: 變數名:=list.new()
宣告的方法: var 變數名 list.list
2、列表中插入元素
l:=list.new()
l.pushback("fist")
l.pushfront(66)
3、列表中刪除元素
l:=list.new()
//尾部新增元素
l.pushback("cannon")
//首部新增元素
l.pushfront(67)
//尾部新增後儲存元素控制代碼
element:=l.pushback("fist")
//在fist之後新增high
l.insertafter("high",element)
//在fist之前新增noon
l.insertbefore("noon",element)
l.remove(element)
4、遍歷列表
//遍歷list
for i:=l.front();i!=nil ;i=i.next()
Go語言從入門到高階
3.條件和迴圈 4.函式 5.陣列和指標 6.結構體和切片 7.集合 8.併發 9.通道 練習package main import fmt func main package main var a 菜鳥教程 var b string runoob.com var c bool var x,y in...
Golang語言學習從入門到實戰 介面
inte ce型別可以定義一組方法,但是這些不需要實現。並且inte ce不能包含任何變數。當某個自定義型別要使用的時候,在根據具體情況把這些方法寫出來。讓camera實現usb介面的方法 func c camera start func c camera stop type computer st...
Flutter從入門到高階實戰攜程網App 彙總貼
賈鵬輝的技術部落格官網 包管理的 掘金上放出來的 1 1 課程導學 1 2 專案需求分析,技術分解.2 1 本章作業 2 2 開發系統與工具選擇 2 3 flutter開發環境與ios開發環境設定 mac 2 4 android開發環境設定與flutter外掛程式安裝 mac 2 5 flutter...