Gopher們寫if err != nil是否膩了?

Go和分散式IM發表於2021-10-27

效果

go裡面沒有try catch,比較類似的有panic() 和 recover()機制,但是代價太大了,他們的場景更多使用在“程式異常,無法繼續往下執行了這種場景”,比如配置檔案讀取失敗、初始化連線Mysql失敗等等。
一般而言,我們更多的還是通過返回值來表示函式的處理結果,而不是粗暴的拋panic()。
所以,每隔幾行就需要寫 if err != nil,手都敲斷了。
這個時候,Goland IDE中Live Template功能就閃亮登場了。效果如下:

 

 

Live Template

簡介

這是一個什麼功能?通俗點講就是程式碼模板。通過鍵入一個關鍵字,自動插入一段預製的程式碼。
比如,Goland內建的 for 和 forr

 

 

所以,我們靈光一閃,要不,if err != nil { return nil } 我也寫一個模板吧?說幹就幹!

內建模板

以Mac為例,Goland->Preferences->Editor->Live Templates,點選Go,和forr,看到如下內容:

 

 點選“Edit variables”看到如下介面:

 

 這裡就可以設定這個變數的值,上面 goSuggestVariableName() 就是返回一個建議的名稱,由Goland控制,是動態的。

簡單吧?我們自己加一個試試吧!

新增模板

1.點選“+”號,新增一個模板,輸入快捷鍵,比如cme和模板描述,然後拷貝下面一段程式碼:
if err != nil {
    return $selected$err
}
 
2.點選“Edit variables”,裡面都保持空即可。

 

 

3.然後點選Apply就可以了。
 
 
完整的配置如下:

 

 

此時,輸入cme(comment error,可以設定任何自己能記住的字母)按回車後,就會自動插入一段程式碼啦!
 

  

PS:為什麼要 弄一個 $selected$ ?有時候,會返回多個值,所以這裡弄一個佔位,如果只有1個值的時候,直接回車即可,也挺方便的。 

 
歷史文章?

 

 

 

 

相關文章