顯示具有 format 標籤的文章。 顯示所有文章
顯示具有 format 標籤的文章。 顯示所有文章

2026年3月27日 星期五

golang時間格式範例導向

最近小編在用golang寫工具,ai寫出一段

time.Now().Format("15:04:05")

想說為什麼不是以前看到習慣的yyyy-MM-dd HH:mm:ss,查了一下原來是go特有的「範例導向」,也不是隨便寫什麼數字都可以,去查了一下對應表

年份2006 (長), 06 (短)剛好是 6

月份01, 1, Jan, January剛好是 1

日期02, 2, _2 (靠右對齊)剛好是 2

小時15 (24h), 03 (12h)剛好是 3 (PM)

分鐘04剛好是 4

秒數05剛好是 5

星期Mon, Monday剛好是 7 (一週的開始)

所以正常年月日時分秒也可以這樣寫

time.Now().Format("2006/01/02 15:04:05")

這種設計的優點

  1. 直覺性:你寫出來的格式,看起來就像是最終輸出的樣子。

  2. 減少錯誤:不再需要爭論 MM 是月份還是 mm 是分鐘,看數字就能秒懂。

  3. 易讀性:程式碼中 Format("2006-01-02") 的意圖比 Format("yyyy-MM-dd") 更加清晰。


是很直觀拉,只是又要多記一些東西,覺得有趣,就紀錄一下


2024年4月16日 星期二

在vue裡面寫pug真的有這麼恐怖嗎?

前言

許久之前有開過一個vue3專案,template我使用pug來寫,基本上用得還算順利。除了一開始不會自動排版,但也靠vetur解決了(雖然vetur那時跟volar打架,但後來也還算完美落幕)。一直到這兩天我從新起了一個專案,憑藉對ts及vue的熟悉,我突然感覺到不太對勁:不光是template幾乎不會報錯、ts不會自動跳出提示,連格式化也失靈了。因此我開始上網求助

網路大神果然不會讓我失望,清一色都是叫我儘早放棄,把pug說的要多糟有多糟,支援要多差有多差。



洨編連團隊的道歉信都寫好了,準備要把所有template改回html,最終看到圖片中那則留言,想說死馬當活馬醫吧。再試一回,結果真讓我試出來了。以下來記錄一下

備註一下,以下小編都是使用vscode及相關套件進行處理

首先是format的部分(prettiers extension請先安裝好)

yarn add -D prettier @prettier/plugin-pug
// .prettierrc
{
"semi": false,
"trailingComma": "es5",
"singleQuote": false,
"printWidth": 150,
"tabWidth": 2,
"pugClassNotation": "attribute",
"pugExplicitDiv": true,
"pugSortAttributes": "asc",
"pugSortAttributesBeginning": [],
"pugSortAttributesEnd": [
"v-for",
"^:",
"^@",
"^v-"
],
"plugins": ["@prettier/plugin-pug"]
}

這樣就可以使用prettier進行format了(我還以為prettier什麼都支援,原來需要外掛),後面那些設定大家可以自行調整,洨編是依照個人喜好設定

再來是vscode typescript compiler的部分

yarn add -D @vue/language-plugin-pug
// tsconfig.json
{
  "vueCompilerOptions": {
"plugins": ["@vue/language-plugin-pug"]
}
}

這樣類別及型別錯誤什麼的就可以正常辨識了。

不過網路大神講得這麼恐怖,或許其中還有什麼未知的問題等待我去挖掘,總之我提出的三個問題暫時是解決了,至於未來.....的事交給未來的我去解決吧!

又過了驚險的一天,收工下班!