为 Goland 添加 Postfix Completion 提高工作效率 - AmatsuZero/GiveMeAnOfferGo GitHub Wiki

Why

Golang 这个语言相比现代其他的编程语言,实在是有点太“极简主义”了,比如slice,常用的一些方法通通没有,且无法像 Swift 的 Extension 或者 OC 的 Category 那样为集合类型进行扩展,目前找到能想到的方法就是仿照 Java 那样,添加一个 Utilities 包,专门封装一些常用的方法。但最近研究了一下 Golang 的 Code Completion,发现这个能简化一些操作。

How

Goland 的 Code Completion 整体教程在这里。我们可以参考官方的SliceTricks添加一些自动代码,举几个例子:

  • Pop
$END$, $EXPR$ = $EXPR$[len($EXPR$)-1], $EXPR$[:len($EXPR$)-1]

总的来说,Post Completion 能做的事情还是很有限,一些复杂的,像是 Filter 或者 Map,就无法用这种方式封装了。

  • Shift
$END$, $EXPR$ = $EXPR$[0], $EXPR$[1:]
  • Push
$EXPR$ = append($EXPR$, $END$)