42 | bufio包中的數據類型 (上) 今天,我們來講另一個與 I/O 操作強相關的代碼包bufio。bufio是“buffered I/O”的縮寫。顧名思義,這個代碼包中的程序實體實現的 I/ ...
訪問網絡服務 前導內容:socket 與 IPC 人們常常會使用 Go 語言去編寫網絡程序 當然了,這方面也是 Go 語言最為擅長的事情 。說到網絡編程,我們就不得不提及 socket。 socket,常被翻譯為套接字,它應該算是網絡編程世界中最為核心的知識之一了。關於 socket,我們可以討論的東西太多了,因此,我在這里只圍繞着 Go 語言向你介紹一些關於它的基礎知識。 所謂 socket, ...
2021-12-09 23:00 0 260 推薦指數:
42 | bufio包中的數據類型 (上) 今天,我們來講另一個與 I/O 操作強相關的代碼包bufio。bufio是“buffered I/O”的縮寫。顧名思義,這個代碼包中的程序實體實現的 I/ ...
43 | bufio包中的數據類型(下) 在上一篇文章中,我提到了bufio包中的數據類型主要有Reader、Scanner、Writer和ReadWriter。並着重講到了bufio.Reader類型與bufio.Writer類型,今天,我們繼續專注bufio.Reader的內容來進行學習 ...
48 | 程序性能分析基礎(上) 作為拾遺的部分,今天我們來講講與 Go 程序性能分析有關的基礎知識。 Go 語言為程序開發者們提供了豐富的性能分析 API,和非常好用的標准工具。這些 API 主要存在於: 1、runtime/pprof; 2、net/http/pprof ...
47 | 基於HTTP協議的網絡服務 我們在上一篇文章中簡單地討論了網絡編程和 socket,並由此提及了 Go 語言標准庫中的syscall代碼包和net代碼包。 我還重點講述了net.Dial函數和syscall.Socket函數的參數含義。前者間接地調用了后者,所以正確理解后者,會對用好 ...
49 | 程序性能分析基礎(下) 在上一篇文章中,我們圍繞着“怎樣讓程序對 CPU 概要信息進行采樣”這一問題進行了探討,今天,我們再來一起看看它的拓展問題。 知識擴展 問題 1:怎樣設定內存概要信息的采樣頻率? 針對內存概要信息的采樣會按照一定比例收集 Go 程序在運行期間的堆內存 ...
23 | 測試的基本規則和流程 (上) 在接下來的日子里,我將帶你去學習在 Go 語言編程進階的道路上,必須掌握的附加知識,比如:Go 程序測試、程序監測,以及 Go 語言標准庫中各種常用代碼包的正確用法。 從上個世紀到今日今時,程序員們,尤其是國內的程序員們,都對編寫程序樂此不疲 ...
26 | sync.Mutex與sync.RWMutex 從本篇文章開始,我們將一起探討 Go 語言自帶標准庫中一些比較核心的代碼包。這會涉及這些代碼包的標准用法、使用禁忌、背后原理以及周邊的知識。 既然 Go 語言是以獨特的並發編程模型傲視群雄的語言,那么我們就先來學習與並發編程關系最緊 ...
30 | 原子操作(下) 我們接着上一篇文章的內容繼續聊,上一篇我們提到了,sync/atomic包中的函數可以做的原子操作有:加法(add)、比較並交換(compare and swap,簡稱 C ...