07 | 數組和切片 我們這次主要討論 Go 語言的數組(array)類型和切片(slice)類型。 它們的共同點是都屬於集合類的類型,並且,它們的值也都可以用來存儲某一種類型的值(或者說元素)。 不過,它們最重要的不同是:數組類型的值(以下簡稱數組)的長度是固定的,而切片類型的值(以下簡稱 ...
panic函數 recover函數以及defer語句 上 在本篇,我要給你展示 Go 語言的另外一種錯誤處理方式。不過,嚴格來說,它處理的不是錯誤,而是異常,並且是一種在我們意料之外的程序異常。 前導知識:運行時恐慌 panic 這種程序異常被叫做 panic,我把它翻譯為運行時恐慌。其中的 恐慌 二字是由 panic 直譯過來的,而之所以前面又加上了 運行時 三個字,是因為這種異常只會在程序運 ...
2021-11-08 20:41 0 190 推薦指數:
07 | 數組和切片 我們這次主要討論 Go 語言的數組(array)類型和切片(slice)類型。 它們的共同點是都屬於集合類的類型,並且,它們的值也都可以用來存儲某一種類型的值(或者說元素)。 不過,它們最重要的不同是:數組類型的值(以下簡稱數組)的長度是固定的,而切片類型的值(以下簡稱 ...
10 | 通道的基本操作 作為 Go 語言最有特色的數據類型,通道(channel)完全可以與 goroutine(也可稱為 go 程)並駕齊驅,共同代表 Go 語言獨有的並發編程模式和編程哲學。 Don’t communicate by sharing memory; share ...
13 | 結構體及其方法的使用法門 我們都知道,結構體類型表示的是實實在在的數據結構。一個結構體類型可以包含若干個字段,每個字段通常都需要有確切的名字和類型。 前導內容:結構體類型基礎知識 當然 ...
15 | 關於指針的有限操作 在前面的文章中,我們已經提到過很多次“指針”了,你應該已經比較熟悉了。不過,我們那時大多指的是指針類型及其對應的指針值,今天我們講的則是更為深入的內容。 讓我們先來復習一下。 對於基本類型Dog來說,*Dog就是它的指針類型。而對於一個Dog類型,值不為 ...
16 | go語句及其執行規則(上) 我們已經知道,通道(也就是 channel)類型的值,可以被用來以通訊的方式共享數據。更具體地說,它一般被用來在不同的 goroutine 之間傳遞數據。那么 goroutine 到底代表着什么呢? 簡單來說,goroutine 代表着並發編程模型中的用戶 ...
17 | go語句及其執行規則(下) 知識擴展 問題 1:怎樣才能讓主 goroutine 等待其他 goroutine? 我剛才說過,一旦主 goroutine 中的代碼執行完畢,當前的 Go 程序就會結束運行,無論其他的 goroutine 是否已經在運行了。那么,怎樣才能 ...
14 | 接口類型的合理運用 前導內容:正確使用接口的基礎知識 在 Go 語言的語境中,當我們在談論“接口”的時候,一定指的是接口類型。因為接口類型與其他數據類型不同,它是沒法被實例化的。 更具體地說,我們既不能通過調用new函數或make函數創建出一個接口類型的值,也無法用字面量來表示一個 ...
有兩種,即:創建立體的錯誤類型體系和創建扁平的錯誤值列表。 先說錯誤類型體系。由於在 Go 語言中實 ...