原创 從詞法分析角度看 Go 代碼的組成

之前的 Go 筆記系列,已經完成到了開發環境搭建,原本接下來的計劃就是到語法部分了,但後來一直沒有前進。主要是因爲當時的工作比較忙,分散了精力,於是就暫時放下了。 最近,準備重新把之前計劃撿起來。 第一步,肯定是瞭解 Go 基礎語法部分。原

原创 如何實現 Go Module 依賴關係的可視化

本文首發於我的博客,如果覺得有用,歡迎點贊收藏,讓更多的朋友看到。 最近,我開發了一個非常簡單的小工具,總的代碼量 200 行不到。今天,簡單介紹下它。這是個什麼工具呢?它是一個用於可視化展示 Go Module 依賴關係的工具。 爲何開

原创 Go 中實例演示 json 的 map 和 struct 便捷處理轉化

今天簡單談一些 JSON 數據處理的小知識。近期工作中,因爲要把數據庫數據實時更新到 elasticsearch,在實踐過程中遇到了一些 JSON 數據處理的問題。 實時數據 實時數據獲取是通過阿里開源的 canal 組件實現的,並通過消息

原创 一文理清 Go 引用的常見疑惑

今天,嘗試談下 Go 中的引用。 之所以要談它,一方面是之前的我也有些概念混亂,想梳理下,另一方面是因爲很多人對引用都有疑問。我經常會看到與引用有關的問題。 比如,什麼是引用?引用和指針有什麼區別?Go 中有引用類型嗎?什麼是值傳遞?址傳遞

原创 如何靈活地進行 Go 版本管理

本文談下我對 Go 版本管理的一些思考,並給大家介紹一個小工具,gvm。這個話題說起來也很簡單,但如果想用的爽,還是要稍微梳理下。 背景介紹 Go 的版本管理,並非包的依賴管理。平時的工作中,很多時候並不會遇到這樣的需求,所以可能並不是很明

原创 Go 中 slice 的 In 功能實現探索

之前在知乎看到一個問題:爲什麼 Golang 沒有像 Python 中 in 一樣的功能?於是,搜了下這個問題,發現還是有不少人有這樣的疑問。 今天來談談這個話題。如果覺得本文有幫助,幫忙給個贊,謝謝! in 是一個很常用的功能,有些語言中

原创 Go 回答彙總三

第三篇 Go 問答總結,2019 年 8 月份總結,大約有 12 篇問答。前兩遍地址如下: Go 問答彙總一 Go 問答彙總二 問題大部分是來自於知乎和 segmentfault。本月有一個問題來自 stackoverflow,我的英文水

原创 Go 筆記之如何測試你的 Go 代碼

不論是開源項目,還是日常程序的開發,測試都是必不可少的一個環節。今天我們開始進入 Go 測試模塊 testing 的介紹。 差不多兩週沒有更新 Go 文章了,最近狀態不是太好。這篇文章本來準備寫的內容非常豐富,結果有點力不從心,移除了好幾個

原创 Go 小知識之 JSON 美化小工具

後端http接口測試常需要打印 JSON 返回,但是默認的json展示形式是緊湊型的,不易閱讀,或許很多人習慣於使用在線格式化工具。但如果能用代碼直接 JSON 美化,爲什麼還要多開一次瀏覽器呢? struct、map 的 Marsh美化

原创 Go 回答之如何閱讀 Go 源碼

我的知乎回答,問題是關於如何閱讀 Go 源碼。地址。 Go 的源碼在安裝包的 src/ 目錄下。怎麼看它的源碼呢?直接看吧!沒人教的情況下,只能自己擼了。當然,這種內容一般也不會有人教。 怎麼擼? Go 源碼中,應該可分爲與語言息息相關的

原创 Elasticsearch 快速開始

前言 本文非完全直譯譯文,主要參考的的是 elasticsearch 6.5 版的官網文檔 Getting Started,可以把這篇文章理解爲個人學習筆記,我力求詳略得當吧。 文末會附上 Getting Started 閱讀梳理的思維導圖

原创 Go 筆記之詳解 Go 的編譯執行流程

上篇文章介紹了Golang在不同系統下的安裝,並完成了經典的Hello World案例。在這個過程中,我們用到了go run命令,它完成源碼從編譯到執行的整個過程。 今天來詳細介紹下這個過程。簡單理解,go run 可等價於 go bui

原创 https://github.com/gorilla/context

作者:Sameer Ajmani | 地址:blog.golang.org/context 譯者前言 第二篇官方博客的翻譯,主要是關於 Go 併發控制的 context 包。 總體來說,我認爲上一篇纔是 Go 併發的基礎與核心。contex

原创 Go 問答彙總篇 二

繼上篇 Go 問答彙總,已經過去了一個多月。今天彙總下近一個多月我關於 Go 的回答。 粗略數了一下,一個多月的時間裏,大約回答了 18 個與 Go 有關的問題,問題主要是來源於 segmentfault 和 zhihu 兩個平臺。後面希望

原创 Go 筆記之 Go 的那些 IDE

經過前面的一系列工作後,GO的語言環境已經搭建完成。我們也初步體驗了GO提供的大部分命令。但在正式進入開發之前,還有件工作要做,那就是選擇一款適合自己的IDE。 爲什麼使用IDE "程序員爲什麼要使用IDE",在一些社區論壇,經常可以看到這