[Go 08] 認識時間格式與golang的時區轉換寫法

開發過程中,曾遇過部署到別的平台,時間就變成+0 時區了(例如明明下午五點,部署平台顯示早上九點),這時才發現原來你的時間不是他的時間,而資料庫中也常常用時間戳數字來做紀錄,但顯示給使用者時又要轉成格式化顯示,本篇紀錄各種時間格式的理解與 go 程式對於時間的使用

繼續閱讀

[Go] 性能/品質檢測

當開發golang程式完成後,其實有一些工具可以查看自己的程式效能,是否有些地方佔了太大的資訊進而改進,另外也可以 透過品質檢測工具去看修改建議;最後,如果有撰寫測試案例的話,也有工具可以產生測試報告,確認測試案例涵蓋了程式多少百分比,還有沒被寫到的地方也可以透過報告顯示出來.

本章介紹:

  • 性能分析工具-pprof 查看CPU/memory 等的瓶頸
  • 檢視go的品質與建議-gosec
繼續閱讀

[Go 07] 使用 zap 框架印出 log

本章內容:

  • 實作使用高性能 zap log 框架
  • 擁有 log level 配置 (常用 debug/warn/info/error)與程式碼位置
  • 可以選擇印出在 console 或是文件(要外掛 lumberjack 去分割)
  • zap 有 suger 函式可以增加易用性,但犧牲效能
繼續閱讀

[Go 04] 信號處理和退出程式

一般在執行go run main.go後就會馬上回到命令列,
這邊實作當接收到ctrl+c或是終止程式才會停止程式

本文說明:

  • go實作接收命令而中止程式.
  • 會用到channel管道來進行阻塞,並接收os/signal訊號
繼續閱讀