Go從入門到精通 關閉通道後繼續使用通道

2022-10-11 00:42:10 字數 335 閱讀 8456

通道是乙個引用物件,和 map 類似。map 在沒有任何外部引用時 ,go 程式在執行(runtime)會自動對記憶體進行垃圾**(garbage collection,gc)。類似的,通道也可以被垃圾**,但是通道也可以被主動關閉的。

使用 close() 來關閉乙個通道:

close(ch)

關閉的通道依然可以被訪問,訪問被關閉的通道將會發生一些問題。

被關閉的通道不會被置為 nil。如果嘗試對已經關閉的通道進行傳送,將會觸發宕機。

package main

import "fmt"

func main()

Go從入門到精通 指標

指標概念在 go 語言中被拆分成為兩個核心概念 c c 中指標飽受詬病的根本原因是指標運算和記憶體釋放。c c 語言中的裸指標可以自由偏移 甚至可以在某些情況下偏移進入作業系統核心區域。我們計算機作業系統經常需要更新 修復漏洞的本質,是為解決指標越界訪問所導致的 緩衝區溢位 同時指標又是c c 語言...

Go語言從入門到精通 字元型別

字串中的每乙個元素叫做 字元 在遍歷或者單個獲取字串元素時可以獲得字元。go 語言的字元有以下兩種 使用 fmt.printf 中的 t動詞可以輸出變數的實際型別,使用這個方法可以檢視 byte 和 rune 的本來型別,如下 var a byte a fmt.printf d t n a,a va...

Go語言從入門到精通 匿名變數

在使用多重賦值時,如果不需要在左值中接收變數,可以使用匿名變數 anonymous variable 匿名變數的表現是乙個下畫線 使用匿名變數時,只需要在變數宣告的地方使用下畫線替換即可。例如 func getdata int,int a,getdata b getdata fmt.println ...