以前寫得程式,現在要重新跑起來,發現需要改用 Go mod 來設定,才能正常執行~
Go Modules 是 Go 1.11 後開始推的作法,主要可以管理套件 且 自動判斷「套件相依性」
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
以前寫得程式,現在要重新跑起來,發現需要改用 Go mod 來設定,才能正常執行~
Go Modules 是 Go 1.11 後開始推的作法,主要可以管理套件 且 自動判斷「套件相依性」
Go 的程式在執行,到底跑得怎麼樣呢?使用多少資源呢?可以使用 Go 專用的 ps 來查看~
Go 1.11 之後的版本,支援可以直接將 Go 寫的內容編譯成 WebAssembly (wasm),然後搭配已經寫好的 wasm_exec.html 和 wasm_exec.js 就可以直接在頁面上執行。
Linux CLI 要查看 Git repository 的圖形顯示,可以使用 tig,視窗顯示查看可以使用 Gitk。
不過 tig 能看的比較有限,操作還是比較偏向 Git 命令列,而不是像 Gitk 上下左右的視窗可以即時看 Log、diff 等等的資料。
grv 就類同 CLI 版的 Gitk,而且執行速度很快,有空可以玩玩看~
Golang 除了 Compile (build) 外,平常可以使用 go run 直接執行。
gorun 的作者想要在 go 的程式第一行加上類似 #!/usr/bin/go 就可以執行 .go 的作法
Golang 的程式寫好後,一般在 amd64 的環境編譯、執行都很簡單,但是遇到 ARM 的就需要另外指定一下。
go build example.go # 產生 example 執行檔,丟到 ARM 的機器上執行,會如下述訊息:
Golang 官方有推出程式碼 Formatter 的工具,幫助程式來做排版的動作。
Go 想要做 REST API 或者要對 router、dispatcher 等等的處理,可以使用 mux 的套件。
不過 mux 的套件在 GET 資料,若內容有 "/" 就是 %2F 的話,程式會直接給 404,程式就直接結束,無法處理,要怎麼解決這個問題呢?
Golang 使用 go get 可以抓取套件,而且有 binary 可以直接執行,但是 go get 到底把程式裝在哪邊?要怎麼移除乾淨呢?