iT邦幫忙

golang相關文章
共有 489 則文章

技術 [Golang]同步工具-sync包的原子操作(下)-心智圖總結

1. 比較和交換(compare and swap,簡稱CAS)跟交換(swap)有什麼不同? 比較和交換(CAS),是有條件的交換操作,指有在條件滿足的情況下...

技術 [Golang]同步工具-sync包的原子操作(上)-心智圖總結

1. 原子操作是什麼? 原子操作,操作進行的過程不能被中斷。也就是說,某個值在原子操作的過程中,CPU絕不會再去進行其它針對該值的操作。為了實現這樣的嚴謹,原子...

技術 [Golang]同步工具-sync包的Wait、Signal、Broadcast方法說明-心智圖總結

1. 條件變數的Wait方法,做了什麼? Wait方法的用途,為等待通知。 先看一下Wait方法的程式碼。 func (c *Cond) Wait() {...

技術 [Golang]同步工具-sync包的Cond-心智圖總結

1. sync包的Cond,提供條件變數。 a. 條件變數是基於互斥鎖的,它必須有互斥鎖的支撐,才能使用。 b. 條件變數並不是被用來保護共享資源,它是用來協調...

技術 [Golang]同步工具-sync包的RWMutex-心智圖總結

1. RWMutex,讀寫鎖,又稱讀/寫互斥鎖。 讀寫鎖是把對共享資源的"讀操作"和"寫操作"分別對待。 相比於互斥鎖,...

技術 [Golang]同步工具-sync包的Mutex-心智圖總結

1. Mutex又稱互斥鎖。為什麼需要保護共享資源? 數據在goroutine之間共享,就有可能會出現爭用或者衝突的狀況。這種狀況,會破壞共享數據的一致性,也被...

技術 Week37 -我當時害怕極了,原來Golang用指標是母湯的 [Server的終局之戰系列]

大家好,在這個週末我參加了Golang-Conference-2020,每個議程養分都很高,而在最後一個議程Deep Dive into The Escape...

技術 [Golang]go test指令說明-心智圖總結

1. -cpu a. 用途: 模擬程式在不同CPU核心數的計算機,效能表現。 b. 用來設定測試執行最大的CPU數量。CPU數量也就是計算機CPU核心的實際數量...

技術 [Golang]效能測試(Benchmark)簡介-心智圖總結

1. Benchmark,是GO語言用來做函數的效能測試。 2. Go語言對效能測試函數的名稱與函數的參數有什麼規定? a. 對於效能測試函數,其名稱必須以Be...

技術 [Golang]單元測試(testing)名稱規則-心智圖總結

1. Go語言對於測試程式碼的文件名稱? 檔案名稱必須要以"_test"為結尾。 例如:程式碼文件名稱為 abc.go,那針對它的測試程式碼...

技術 小菜雞學程式!來說說 Golang 的環境變數吧!

之前有跟大家提過環境變數,其實可以想像成像是冷氣機的各種設定,像是溫度、功能、風向、風量等等,讓冷氣機運行的時候可以根據這些設定達到我們想要的樣子,那麼 Gol...

技術 [Golang]恢復panic(recover、defer)-心智圖總結

1. 如何讓panic,包含一個值 在呼叫panic函數時,把某個值做為參數傳給該函數就可以了。panic函數的唯一一個參數是空接口(interface{})類...

技術 [Golang]panic是什麼?-心智圖總結

1. panic是什麼? 程式在運行時,發生意料之外的程式異常。例如: 訪問,不存在的array。 panic,可以翻譯成,運行時恐慌。 2. panic的錯誤...

技術 [Golang]select 語句的分支選擇規則-心智圖總結

1. select語句的case表達式,都會在選擇之前,先被求值。 2. case表達式,求值的順序,會依照程式碼的編寫順序,從上而下。 而同一個case表達式...

技術 [Golang]Channel的select語句-心智圖總結

1. channel的select語句 在Go語言,select只能和channel一起使用。 select語句的分支有兩種,一種為case分支,另一種為def...

技術 [Golang]單向channel介紹

1. channel有分,單向、雙向,通常情況下,只說channel,就是指雙向channel。 那如何聲明單向通道? var Chan = make(chan...

技術 [Golang]Channel 特性整理-心智圖

用途: sender和receiver溝通機制,FIFO(先進先出)。 參考來源: 郝林-Go语言核心36讲

技術 [Golang]range 使用細節

1. range 表達式的值 當for語句被執行的時候,在range關鍵自右邊的number1會先被求值(下面程式碼)。而這個位置上的代碼被稱為range表達式...

技術 [Golang]變數重聲明與重名變數

一、整理變數重聲明與重名變數的描述。 變數重聲明,對已經聲明過的變數,再次聲明。 前提條件如下: 變數的類型在初始化時,就已經決定,所以再次聲明時,賦予的類型...

技術 [Golang]slice介紹與心智圖

slice與array的差異。 類型的差異 array屬於值類型,同屬於值類型的包含,基礎數據類型、結構體類型。 slice屬於引用類型,而同屬於引用類型的...

技術 Week34 - 從 JavaScript 到 Golang 的啟發之旅 [Server的終局之戰系列]

本文章同時發佈於: Medium iT 邦幫忙 大家好,這篇文章主要是六角學院鐵人賽與 2020 iT 邦幫忙鐵人賽對於 JavaScript 到...

技術 [Golang]GOROOT與GOPATH的說明-心智圖

1.GOROOT、GOPATH介紹與比較。 2.go build、go install、go get與GOROOT、GOPATH的關係。

技術 [Golang]func的結構與特性整理-Part 2

二、特性 匿名函數 (沒有名字的函數) package main import ( "fmt" ) func main() {...

技術 小菜雞學程式!來安裝 Golang 吧!

上一篇文章跳過了安裝的部分,讓大家自己嘗試一下,不知道大家有沒有完成這個任務了呢? 沒有的話沒關係,我們來一起把 Golang 安裝好! 首先,不知道各位有沒...

技術 小菜雞學程式!用 Golang 來跟世界說 Hello 吧!

這系列文章會用 Golang 來做說明,希望可以用比較簡單、直白的方式來說明一些程式的概念,讓沒有基礎的人也可以從頭學起,如果有什麼錯誤的地方,希望各位大神幫忙...

技術 [Golang]func的結構與特性整理-Part 1

一、結構 func name(InputParameter-list) (OutPutResult-list) { function body } InputP...

鐵人賽 Modern Web DAY 30

技術 iris的依賴注入

iris的依賴注入 本篇文章介紹一下其他語言也有的設計概念,就是依賴注入,以及在iris如何利用這種設計概念讓程式的組件職能分工,並且能每個組件專注在各自的邏輯...

技術 [Golang]嵌入類型,組合而不是繼承。

嵌入類型,或者嵌套類型。這是一種把已有的類型,聲明在新的類型裡的方式,這個對程式碼重複使用非常重要。 在Go語言中,沒有繼承的概念,Go提倡的是重複使用程式碼,...

鐵人賽 Modern Web DAY 29

技術 iris的jwt

jwt 上一篇介紹了如何撰寫及使用middleware,而iris也有許多好用的middleware,所以本篇就來介紹一個好用的middleware jwt。...

技術 [Golang]宣告變數的方式

第一種: 基本變數宣告 package main import "fmt" func main() { var a int = 1...