在 Go Module 模式底下使用 go get 取得套件的時候常常會有各種版號出現,例如 v1.0.2v2.0.3 +incompatible、甚至是一段 hash v0.0.0-20200226145339-3e397ee01bc6。 還有取得 v2 版本的時候,有時候是 go get github.com/my/foo@v2.2.0 有時候是 go get github.com/my/foo/v2@v2.2.0。 為了搞懂這些差別,我參考了一些官方文章還有做了一些實驗,今天就來解說這些差別到底是什麼情況。

Continue reading

在使用 Go 開發網站應用程式的時候,常常會需要重新執行 go run main.go 指令,來測試自己改的程式碼對不對。 同樣的動作做久了,會有點惱人,要是這時候來點 Live-Reload 工具就可以讓開發心情增加 100 分。 就在前幾天發現一個可以 Live-Reload 的工具 codegangsta/gin,雖然這個專案很久了,可是使用起來還是非常的棒阿!!

備註說一下,此 codegangsta/gin 非彼 gin-gonic/gin。 是不一樣的東西喔。

Continue reading

當實作某一個介面的方法的時候,會視是否要 shared state 來決定要用 Pointer Receiver 還是 Value Receiver。 而使用 Pointer Receiver 的時候,會發現不能使用 Value Type 傳給 Interface Value,會出現下面這樣的錯誤。

Cannot use ‘u’ (type user) as type notifier Type does not implement ‘notifier’ as ‘notify’ method has a Pointer Receiver

但是使用 Value Receiver 卻兩種都可以傳,這是為什麼呢?

Continue reading
  • page 1 of 1
Author's picture

Miles

I’m a person who is enthusiastic about Coding, and that’s my job by the way.


Web Developer


Taiwan