亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

解鎖即可觀看《Go開發工程師》完整課程視頻

Go開發工程師

未來3-5年企業高性能項目不可替代的語言,從基礎到項目實戰再到重構,真正從入門到精通

【第1周】Go基礎知識入門
【第2周】容器,go編程思想
【第3周】Go并發編程和工程管理
【第4周】從0開始理解rpc和grpc
【第5周】grpc和protobuf進階
【第6周】 yapi文檔管理、gorm詳解
【第7周】gin快速入門
【第8周】用戶服務的grpc服務
【第9周】用戶服務的web服務
【第10周】服務注冊/發現、配置中心、負載均衡
【第11周】商品微服務的grpc服務
【第12周】 商品微服務的gin層和oss圖片服務
【第13周】庫存服務和分布式鎖
【第14周】訂單和購物車微服務
【第15周】 支付寶支付、用戶操作微服務、前后端聯調
【第16周】elasticsearch實現搜索微服務
【第17周】 分布式理論基礎、分布式事務解決方案
【第18周】 學習rocketmq實現冪等性機制等
【第19周】鏈路追蹤、限流、熔斷、降級
【第20周】api網關、部署
【第21周】開發規范和go基礎擴展
【第22周】設計模式和單元測試
【第23周】protoc插件開發、cobra命令行
【第24周】log日志包設計
【第25周】ast代碼生成工具開發
【第26周】三層代碼結構
【第27周】grpc服務封裝更方便的rpc服務
【第28周】深入grpc的服務注冊、負載均衡原理
【第29周】基于gin封裝api服務
【第30周】可觀測的終極解決方案
【第31周】系統監控核心
【第32周】用戶、商品服務重構
【第33周】訂單、庫存等服務重構
【第33+周】訂單服務重構、wire進行ioc控制
【第34周】通過k8s部署服務
【第34+周】devops和k8s
章節
問答
課簽
筆記
評論
占位
占位

Go語言-切片類型

    切片(Slice)與數組一樣,也是可以容納若干類型相同的元素的容器。與數組不同的是,無法通過切片類型來確定其值的長度。每個切片值都會將數組作為其底層數據結構。我們也把這樣的數組稱為切片的底層數組。
  
    表示切片類型的字面量如:

[]int 

  或

[]string    

    可以看到,它們與數組的類型字面量的唯一不同是不包含代表其長度的信息。因此,不同長度的切片值是有可能屬于同一個類型的。相對的,不同長度的數組值必定屬于不同類型。對一個切片類型的聲明可以這樣:

type MySlice []int

    這時,類型MySlice即為切片類型[]int的一個別名類型。除此之外,對切片值的表示也與數組值也極其相似,如:

[]int{1, 2, 3}  

    這樣的字面量與數組(值)的字面量的區別也只在于最左側的類型字面量。
  
    我們在上一節講到的操作數組值的方法也同樣適用于切片值。不過,還有一種操作數組值的方法我們沒講到。這種操作的名稱就叫“切片”。實施切片操作的方式就是切片表達式。舉例如下:

var numbers3 = [5]int{1, 2, 3, 4, 5}
var slice1 = numbers3[1:4]

    請注意第二條賦值語句中在“=”右邊那個部分。切片表達式一般由字符串、數組或切片的值以及由方括號包裹且由英文冒號“:”分隔的兩個正整數組成。這兩個正整數分別表示元素下界索引和元素上界索引。在本例中,切片表達式numbers3[1:4]的求值結果為[]int{2, 3, 4}??梢?,切片表達式的求值結果相當于以元素下界索引和元素上界索引作為依據從被操作對象上“切下”而形成的新值。注意,被“切下”的部分不包含元素上界索引指向的元素。另外,切片表達式的求值結果會是切片類型的,且其元素類型與被“切片”的值的元素類型一致。實際上,slice1這個切片值的底層數組正是numbers3的值。
  
    實際上,我們也可以在一個切片值上實施切片操作。操作的方式與上述無異。請看下面這個例子:

var slice2 = slice1[1:3] 

    據此,slice2的值為[]int{3, 4}。注意,作為切片表達式求值結果的切片值的長度總是為元素上界索引與元素下界索引的差值。
  
    除了長度,切片值以及數組值還有另外一個屬性——容量。數組值的容量總是等于其長度。而切片值的容量則往往與其長度不同。請看下圖。
  
    如圖所示,一個切片值的容量即為它的第一個元素值在其底層數組中的索引值與該數組長度的差值的絕對值。為了獲取數組、切片或通道類型的值的容量,我們可以使用內建函數cap,如:

var capacity2 int = cap(slice2)

    最后,要注意,切片類型屬于引用類型。它的零值即為nil,即空值。如果我們只聲明一個切片類型的變量而不為它賦值,那么該變量的值將會是nil。例如,若有這樣一個變量:

var slice3 []int

  則它的值會是

nil

任務

請在命令源碼文件index.go的第 行和第 行的圓括號中分別填入一個數字,使程序打印到標準輸出上的內容為true, true。

?不會了怎么辦

應該分別填入33。計算方法請參見“知識要點”。

||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?