第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

解鎖即可觀看《Go開(kāi)發(fā)工程師》完整課程視頻

Go開(kāi)發(fā)工程師

未來(lái)3-5年企業(yè)高性能項(xiàng)目不可替代的語(yǔ)言,從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)再到重構(gòu),真正從入門(mén)到精通

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

Go語(yǔ)言-切片的更多操作方法

    我們已經(jīng)知道,在進(jìn)行“切片”操作的時(shí)候需要指定元素下界索引和元素上界索引,就像這樣:

numbers3[1:4]

    在有些時(shí)候,我們還可以在方括號(hào)中放入第三個(gè)正整數(shù),如下所示:

numbers3[1:4:4] 

    這第三個(gè)正整數(shù)被稱(chēng)為容量上界索引。它的意義在于可以把作為結(jié)果的切片值的容量設(shè)置得更小。換句話說(shuō),它可以限制我們通過(guò)這個(gè)切片值對(duì)其底層數(shù)組中的更多元素的訪問(wèn)。下面舉個(gè)例子。讓我們先來(lái)回顧下在上一節(jié)講到的numbers3slice1。針對(duì)它們的賦值語(yǔ)句是這樣的:

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

    這時(shí),變量slice1的值是[]int{2, 3, 4}。但是我們可以通過(guò)如下操作將其長(zhǎng)度延展得與其容量相同:

slice1 = slice1[:cap(slice1)]   

    通過(guò)此操作,變量slice1的值變?yōu)榱?code class="marker">[]int{2, 3, 4, 5},且其長(zhǎng)度和容量均為4?,F(xiàn)在,numbers3的值中的索引值在[1,5)范圍內(nèi)的元素都被體現(xiàn)在了slice1的值中。這是以numbers3的值是slice1的值的底層數(shù)組為前提的。這意味著,我們可以輕而易舉地通過(guò)切片值訪問(wèn)其底層數(shù)組中對(duì)應(yīng)索引值更大的更多元素。如果我們編寫(xiě)的函數(shù)返回了這樣一個(gè)切片值,那么得到它的程序很可能會(huì)通過(guò)這種技巧訪問(wèn)到本不應(yīng)該暴露給它的元素。這是確確實(shí)實(shí)是一個(gè)安全隱患。
  
    如果我們?cè)谇衅磉_(dá)式中加入了第三個(gè)索引(即容量上界索引),如:

var slice1 = numbers3[1:4:4]   

    那么在這之后,無(wú)論我們?cè)鯓幼龆紵o(wú)法通過(guò)slice1訪問(wèn)到numbers3的值中的第五個(gè)元素。因?yàn)檫@超出了我們剛剛設(shè)定的slice1的容量。如果我們指定的元素上界索引或容量上界索引超出了被操作對(duì)象的容量,那么就會(huì)引發(fā)一個(gè)運(yùn)行時(shí)恐慌(程序異常的一種),而不會(huì)有求值結(jié)果返回。因此,這是一個(gè)有力的訪問(wèn)控制手段。
  
    雖然切片值在上述方面受到了其容量的限制,但是我們卻可以通過(guò)另外一種手段對(duì)其進(jìn)行不受任何限制地?cái)U(kuò)展。這需要使用到內(nèi)建函數(shù)append。append會(huì)對(duì)切片值進(jìn)行擴(kuò)展并返回一個(gè)新的切片值。使用方法如下:

slice1 = append(slice1, 6, 7)

    通過(guò)上述操作,slice1的值變?yōu)榱?code class="marker">[]int{2, 3, 4, 6, 7}。注意,一旦擴(kuò)展操作超出了被操作的切片值的容量,那么該切片的底層數(shù)組就會(huì)被自動(dòng)更換。這也使得通過(guò)設(shè)定容量上界索引來(lái)對(duì)其底層數(shù)組進(jìn)行訪問(wèn)控制的方法更加嚴(yán)謹(jǐn)了。
  
    我們要介紹的最后一種操作切片值的方法是“復(fù)制”。該操作的實(shí)施方法是調(diào)用copy函數(shù)。該函數(shù)接受兩個(gè)類(lèi)型相同的切片值作為參數(shù),并會(huì)把第二個(gè)參數(shù)值中的元素復(fù)制到第一個(gè)參數(shù)值中的相應(yīng)位置(索引值相同)上。這里有兩點(diǎn)需要注意:
  
  1. 這種復(fù)制遵循最小復(fù)制原則,即:被復(fù)制的元素的個(gè)數(shù)總是等于長(zhǎng)度較短的那個(gè)參數(shù)值的長(zhǎng)度。
  2. 與append函數(shù)不同,copy函數(shù)會(huì)直接對(duì)其第一個(gè)參數(shù)值進(jìn)行修改。
  
      舉例如下:

var slice4 = []int{0, 0, 0, 0, 0, 0, 0}
copy(slice4, slice1)   

    通過(guò)上述復(fù)制操作,slice4會(huì)變?yōu)?code class="marker">[]int{2, 3, 4, 6, 7, 0, 0}。

任務(wù)

請(qǐng)?jiān)诿钤创a文件index.go的第 8、9、13、17、18 和 19 行的圓括號(hào)中分別填入一個(gè)數(shù)字,使程序打印到標(biāo)準(zhǔn)輸出上的內(nèi)容為:

true, true
true
true, true, true
?不會(huì)了怎么辦

應(yīng)該分別填入2、4、70、811。計(jì)算方法請(qǐng)參見(jiàn)“知識(shí)要點(diǎn)”。

||

提問(wèn)題

寫(xiě)筆記

公開(kāi)筆記
提交
||

請(qǐng)驗(yàn)證,完成請(qǐng)求

由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求

加群二維碼

打開(kāi)微信掃碼自動(dòng)綁定

您還未綁定服務(wù)號(hào)

綁定后可得到

  • · 粉絲專(zhuān)屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問(wèn)題答復(fù)提醒
  • · 賬號(hào)支付安全提醒

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

使用 Ctrl+D 可將課程添加到書(shū)簽

邀請(qǐng)您關(guān)注公眾號(hào)
關(guān)注后,及時(shí)獲悉本課程動(dòng)態(tài)

舉報(bào)

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

手記推薦

更多

本次提問(wèn)將花費(fèi)2個(gè)積分

你的積分不足,無(wú)法發(fā)表

為什么扣積分?

本次提問(wèn)將花費(fèi)2個(gè)積分

繼續(xù)發(fā)表請(qǐng)點(diǎn)擊 "確定"

為什么扣積分?