Amo Chen

適度用 Python 海象運算子提高程式碼可讀性與簡潔

Python 3.8 推出 1 個新的運算子 — Walrus Operator, 又稱海象運算子,其運算符號為 :=

Python 社群對海象運算子有一些爭議,主要是:

  1. 海象這個名稱不夠明白、直覺,無法讓人直接從名稱了解其用途
  2. 無法向下相容,如果你是套件開發者,用了海象運算子就會有 3.8 以前的相容問題要解決
  3. :== 符號太相似,難以快速識別

但無論其爭議為何,海象運算子只用 1 個新的符號,就能使程式碼變得簡潔之外,還能同時滿足 Python 使用者的習慣,長遠來看其實是利大於弊。

譬如下列程式碼,在使用海象運算子之後,其實只需要 2 行即可:

x = input('> ')
while x:
    print(x)
    x = input('> ')

因此,學會適度使用海象運算子是可以帶來好處的!

本文將介紹海象運算子與幾個適合使用海象運算子的場景。

Posted on  Apr 23, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 5 min read

終端機(Terminal)專用的 AI 指令工具介紹 — AiTerm

AiTerm 是 1 個有趣的 AI 指令工具,它結合 LLM 與 shell 的功能,讓生活離不開 command-line 的大家可以自然語言的方式執行指令,再也不用背指令與參數! But! AiTerm 是相對新的工具,仍處

Posted on  Apr 21, 2024  by  Amo Chen  ‐ 1 min read

認識 Go 的 error 與學習判斷 error 類型的方法

Go 的程式設計中,透過回傳 error 型別的值告知錯誤發生是相當常見的模式,所以很多函式的回傳定義大多如下所示,其中 1 個會是 error 型別,用以告知執行時的錯誤:

func FunctionName() (結果的型別, error)

這也是為什麼我們如果閱讀各種以 Go 開發的開放原始碼專案會很常看到類似以下的程式碼的原因:

r, err := FunctionName()
if err != nil {
	// Error handling here
}

所以學會判斷 error 的類型並處理各種類型的錯誤,變成 Go 程式設計的重要課題。

本文將探討如何判斷 error 類型以及多種不同判斷的方法。

Posted on  Apr 16, 2024  in  Go 程式設計 - 初階  by  Amo Chen  ‐ 6 min read