go語言的魔幻旅程04 切片和陣列

2021-10-20 09:45:00 字數 1717 閱讀 5359

人生在世,每個人總有一段鍥而不捨付出的時光,有的人可能是因為學業,也有的人可能是因為金錢,更有的人可能是因為新中的那個她,無論最初的動機是什麼,一旦認定某件事情,絕大部分的人必定會全身心的投入。然而堅持這件事情就像爬山,爬的山峰越高,堅持下來的人越少,最後能登上山頂觀攬美景的總歸還是少部分的人。這個世界從盤古開天僻地的第一天開始,就注定人生贏家只會是極少數人,大部分的人不是依附於強者,就是淪為社會的底層。無論人生的命運如何,大部分的人還是難以避免依附於其他人的命運,而僅有的改變自身命運的機會,不是消失於日復一日的懶惰懈怠中,就是迷失於燈紅酒綠之中,隨著時間的推移不是在時間的車輪面前泯為眾人就是消失在歲月的浸淫中。人生如此,程式語言的學習亦如此,簡單的程式設計知識瞧不上,非得整天費勁心思琢磨搞些花裡胡哨的知識點來賣弄技巧,殊不知, 咬定青山不放鬆,立根原在破岩中。沒有牢固的基礎,僅僅憑藉花裡唿哨的的程式設計技巧,程式設計的大廈必定注定難以抵禦狂風暴雨的侵襲。

陣列定義:陣列是具有相同唯一型別的一組已經編號且長度固定的資料線序列,可以是任意的原始型別例如整形、字串、或者其他定義的型別。

切片定義:切片是針對陣列的乙個連續片段的引用,因而切片是乙個引用型別(本質上可以將切片理解為乙個長度可變的陣列)。

1、陣列

//陣列的宣告

var identifier [len]type

var arr [10]string

var arr[10]int

...//陣列值的三種初始化方式

var arrage = [5]int

var arrlazy = [...]int

var arrkeyvalue = [5]string

//陣列的兩種遍歷方式

func main() }

func main()

for i, v := range a

}//多維陣列

var [10]...[10]

2、切片

//切片的定義

var identifier type

//切片的建立,其中的type為切片的型別,len為切片的長度

//cap為切片的容量

slice := make(type, len, cap)

s := make(int, 10)

//切片的二種遍歷方式

func main()

for i := 0; i < len(a); i++

}func main()

for i, v := range a

}//切片重組

s := make(int, 0, 10)

//切片的擷取

s := s[start:end]

//複製與追加

s1_from := int

s1_to := make(int, 10)

//複製元素的數量

n := copy(s1_to, s1_from)

//元素的追加

sl3 := int

星星之火可以燎原,雖然關於陣列和切片部分的內容的總結的相對簡單,但是總的而言兩者還是相對比較重要的知識點,特別是針對與切片這一知識點的掌握上,後續無論是函式的學習,還是通道相關的內容多會涉及到切片的運用,如果時間允許的情況下還是非常建議多花點時間在切片上學習上,相對而言陣列的重要性反而相對於切片的重要性要低一些。不過既然是學習一門新的程式語言,還是建議兩者都竟可能的掌握清楚,弄明白兩者相關知識點的運用,不要淪落到「書到用時方恨少」的情形。

go語言的魔幻旅程07 結構體

少不讀水滸,老不讀三國,不知道為什麼會流傳下來這樣的兩句話,少年時代一度酷愛 三國系列相關的電視劇集 電影,尤其是每當劇情發展到劉關張桃園三結義的時候更是熱血洶湧,總感覺大漢的天下就應該讓劉備這樣的人才取得,可最後的結果不僅沒能讓劉備取得天下,反而自己的兒子落的個樂不思蜀的結局。相反曹操雖然性格在電...

go語言的魔幻旅程01 sdk環境配置

任何一門語言的學習,必定是從最基礎的語法學習開始的,程式語言的學習同人類自然語言的學習其實是有異曲同工之妙的,兩者的的學習過程都需經過起步階段 模仿階段 熟練運用階段,同人類的語言有所不同,程式語言的學習實際上相較於自然語言的學習有了進一步的昇華,前提之一是要求學習者在學習之前必須掌握自然語言,其次...

go語言的魔幻旅程02 基本資料型別

乙個人無論身在何地,也無論是現在或者未來從事什麼樣的行業,如果最終想要在這個行業中佔據一席之地,那最起碼的要求是必須具備本行業的基礎技能。通俗而言 沒有那金剛轉,就別攔那瓷器活 如果沒有攬瓷器活的本領,卻硬著頭皮強攬瓷器活,到頭來不但活沒有幹好,說不定還得賠償別人家一大筆損失。總的來講不論是學生時代...