文章首發(fā)于個人公眾號「小白debug」原文鏈接:連接一個 IP 不存在的主機(jī)時,握手過程是怎樣的?[https://mp.weixin.qq.c...
問題 這個代碼會造成死循環(huán)嗎? 怎么答 不會死循環(huán),for range其實是golang的語法糖,在循環(huán)開始前會獲取切片的長度 len(切片),...
問題 對未初始化的的chan進(jìn)行讀寫,會怎么樣?為什么? 怎么答 讀寫未初始化的chan都會阻塞。 舉例 1.寫未初始化的chan 注意這個ch...
問題 怎么避免內(nèi)存逃逸? 怎么答 在runtime/stubs.go:133有個函數(shù)叫noescape。noescape可以在逃逸分析中隱藏一個...
問題 知道golang的內(nèi)存逃逸嗎?什么情況下會發(fā)生內(nèi)存逃逸? 怎么答 golang程序變量會攜帶有一組校驗數(shù)據(jù),用來證明它的整個生命周期是否在...
問題 能說說uintptr和unsafe.Pointer的區(qū)別嗎? 怎么答 unsafe.Pointer只是單純的通用指針類型,用于轉(zhuǎn)換不同類型...
問題 拷貝大切片一定比小切片代價大嗎? 怎么答 并不是,所有切片的大小相同;三個字段(一個 uintptr,兩個int)。切片中的第一個字是指向...
問題 字符串轉(zhuǎn)成byte數(shù)組,會發(fā)生內(nèi)存拷貝嗎? 怎么答 字符串轉(zhuǎn)成切片,會產(chǎn)生拷貝。嚴(yán)格來說,只要是發(fā)生類型強(qiáng)轉(zhuǎn)都會發(fā)生內(nèi)存拷貝。那么問題來了...
問題 翻轉(zhuǎn)含有中文、數(shù)字、英文字母的字符串 "你好abc啊哈哈" 代碼實現(xiàn) 解釋 rune關(guān)鍵字,從golang源碼中看出,它是int32的別名...