github copilot 年初的時候,就聽說了Copilot這個插件,但是一直沒有去嘗試使用。直到最近才去嘗試使用,比較了其它幾款ai相關插件,總的來說copilot使用...

github copilot 年初的時候,就聽說了Copilot這個插件,但是一直沒有去嘗試使用。直到最近才去嘗試使用,比較了其它幾款ai相關插件,總的來說copilot使用...
概括 1. 在golang中一切都是值傳遞 包括指針,也是一種拷貝而已 2. 結構體不能和nil比較 比如: 3. golang不能比較的一些規則 一個經驗:對于一些復合類型...
interface interface是go中一個非常重要的概念,使用的地方非常非常多,有必要好好學習。 那什么是接口呢?在現實中我們有usb接口、type-c接口、HDMI...
struct概述 結構體是go語言最重要的數據結構之一,go和其它編程語言不一樣,它沒有類的概念,類比過來struct就相當于其它語言中的類,因此十分重要。 結構體這部分涉及...
binary 它的作用用一句話說就是:實現數據與二進制之間的雙向轉換 它有許多使用場景,比如: 讀取(解析)網絡過來的二進制數據 讀取一個二進制文件 將一個數據寫成二進制 大...
bufio 它的作用用一句話表述就是: 利用緩沖區減少io操作次數,提升讀寫性能。 1. 為什么要用bufio? 開始之前我們先來看一段代碼: 上面實現了一個簡單的文件讀取功...
概括 最近這幾天都在看golang編程相關的東西,一言難進啊!這塊內容牽扯到很多知識,所以很繁瑣,自己看的也很繞,還是對看的內容做一個大概總結吧! 1. binary、buf...
概述 今天的知識點相對零散,以日記形式記錄。 1. 結構體實例 首先,結構體是值類型,非引用類型;因此var 后 會分配內存。 注意下面三種寫法的區別 2. 接口方法 + 指...
string、byte、rune 在go中字符串有很多令人困惑的地方,所以查了些資料,搞懂了些,寫下此文方便查閱。 1. 從一個困惑開始 為什么長度是12呢,不應該是8個字符...
sync.Pool 背景:在高并發場景下,短時間內會創建大量臨時對象,而這些臨時對象都一次性的,創建完就等著被GC(垃圾回收),非常的浪費,也占用了大量的內存,性能不好。 比...
atomic atomic是go提供的一個執行原子操作的包,雖然提供了這個包,但是go官方并不是很推薦使用;除了做一些低級的應用程序外,go更推薦使用通道和sync來處理; ...
context context字面意思是上下文,它有什么用呢?它主要用于多gorountine、多層級的goroutine(一個goroutine下又有goroutine-子...
概覽 這些內容本身是昨天看的,但是沒有做記錄,今日來,也忘了些許;在golang中GMP這部分知識感覺還是比較難懂,但是還是要寫下自己的一些只言片語理解。 1. 什么事GMP...
定時器 定時器指的是設定一個時間去做xx事,大體上分為兩種: 設定多少時間后,執行xx事,一次性的。 設定一個間隔時間,循環的提醒做xx事,循環的多次的。 定時器非常有用,可...
匿名函數 匿名函數就是沒有名稱的函數,主要記住它可以用于各種類型(切片、結構體、map等)中就行。 1. 一等公民 golang中的函數是一等公民 —— 它能做類型、變量、參...
WorkerPool worker pool也就計算機中的生產者、消費者模型;一邊負責生產任務、一邊負責處理(消費)任務; 在golang中是通過channel用做任務隊列,...
select 在開始介紹select之前,我們先說一個概念多路復用 什么是多路復用呢?我們從一個大家所熟知的場景說起,比如在一個學校里面要舉行運動會,運動會上有許多的比賽項目...
sync sync包提供了許多功能,比如sync.WaitGroup保證所有gorountinue都能執行完sync.Once 保證在多線程情況只執行一次等等。下面分別說下:...
鎖 在多線程執行情況下,會存在對同一變量同時修改的情況;不能保證資源的修改后數據的一致(和我們期望)我們稱為線程不安全。 這種情況,在編程語言中我們可以通過加鎖解決。 我們先...
channel-通道 為什么要有通道呢?通道的作用是解決各個gorountine之間通行的問題; 在開始之前可以先記住一個原則,通道必須和gorountine一起使用,一個直...