原创 Go實現設計模式--觀察者模式

文章目錄定義介紹代碼示例 定義 當對象間存在一對多關係時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。觀察者模式屬於行爲型模式。 介紹 意圖 :定義對象間的一種一對多的

原创 Go語言--Go Moudule系列文章學習

最新發表的GO1.14支持在生產環境中使用Module Support,此係列通過閱讀官方的系列文檔給出我自己的個人總結。 Part1 Using Go Modules 簡單定義 ,Module是存儲在文件樹中的Go軟件包的集合,

原创 golang知識點--context

概述 context包定義了context的類型,該類型在api和進程之間傳遞deadline,取消信號和其他請求範圍的值。 向服務器的傳入請求應創建一個上下文,而對服務器的傳出調用應接受一個上下文。 它們之間的函數調用鏈必須傳播

原创 go語言--new與make的區別

new與make的區別: new用來分配內存,不初始化內存,只會將內存置0【返回一個指針,該指針指向新分配的,類型爲T的零值】 make:只用於slice,map,channel的創建,並返回類型爲T(非指針)的已初始化(非0值)

原创 Defer,Panic,Recover簡單應用

Defer 概述 defer語句將函數調用推送到列表上。 周圍函數返回後,將執行已保存的呼叫列表。 Defer通常用於簡化執行各種清理操作的功能。 例子: func CopyFile(dstName, srcName string

原创 golang知識點--reflect

相關知識學習 1.go語言的type和interface{} 類型 go語言是靜態類型的語言,這意味着每個變量都有它的靜態類型,那是確定且一直固定的一個類型。 例如: type MyInt int var i int var j

原创 golang源碼解析--內存mspan,mcache結構體

mspan簡介 Go中內存管理的基本單元,是由一片連續的 8KB的頁組成的大塊內存。注意,這裏的頁和操作系統本身的頁並不是一回事,它一般是操作系統頁大小的幾倍。一句話概括: mspan是一個包含起始地址、 mspan規格、頁的數量

原创 golang源碼解析--內存總覽

看了gc,發現沒有內存的知識,光看gc,只能背個流程,其中很多涉及內存的操作,所以先來了解一波內存,然後瞭解gc的協程,golang的鎖,再回頭看gc golang內存分配的簡介 關於golang的內存分配 原理: 思想來源於Th

原创 Protocol Buffers語言簡單學習

工作需求,學習一波Protocol Buffers,作爲記錄,官方文檔: https://developers.google.com/protocol-buffers/docs/proto3 syntax = "proto3";

原创 GO語言function

Go語言不支持嵌套,重載和默認參數 但是 (1)無需聲明原型 (2)不定長度變參 (3)多返回值 (4)命名返回值參數 (5)匿名函數 (6)閉包 函數形式 返回值僅僅一個那麼返回值就不用小括號可以直接用 fun

原创 golang源碼分析--gc

由於本人也屬於小白學習,學習過程中也有很多不解的地方,歡迎大家提問,或者指出我未能講到的部分,發現gc是一個很龐大的邏輯所以此篇會一直更新,到我覺得真的完全理解了再停更 golang概覽及原理 golang的垃圾回收採用的是 標記

原创 golang源碼分析--channel

channel的概念 channel是goroutine之間的通信機制,它可以讓一個goroutine通過它給另一個goroutine發送數據,每個channel在創建的時候必須指定一個類型,指定的類型是任意的。 channel

原创 golang源碼分析--map

map概念 Go 語言中 map 是一種特殊的數據結構:一種元素對(pair)的無序集合,pair 的一個元素是key,對應的另一個元素是value,所以這個結構也稱爲關聯數組或字典。這是一種快速尋找值的理想結構:給定key,對應

原创 puppeteer調研--生成頁面的屏幕截圖和PDF

最近工作需要用到puppeteer,做一個學習筆記。 概念 Puppeteer是一個Node庫,它提供了高級API來通過DevTools協議控制Chrome或Chromium。 Puppeteer默認情況下無頭運行,但可以配置爲運

原创 操作系統--存儲器層次結構

局部性 概念 傾向於引用鄰近於其他最近引用過的數據項的數據項,或者最近引用過的數據項本身。 類別 時間局部性 被引用過一次的內存位置很可能在不遠的將來再被多次引用 空間局部性 如果一個內存位置被引用了一次,那麼程序很可能在不遠的將