Goでスペースっぽい文字を見つける

(空文字列ではない)

Golangでスペースっぽい文字を見つけようとすると、次の3つの方法がありそうです。

この3つについて、自分はいまいち使い分けがわかっていなかったので、調べてみました。
ずらっとリストにしてみます。(たいていは知らない文字だけど)

文字名 わかりやすく言うと unicode の番号 unicode.IsSpace \s \pZ
Character Tabulation タブ文字(\t) U+0009 o o x
End Of Line 改行文字(\n) U+000A o o x
Line Tabulation 垂直タブ(\v) U+000B o x x
Form Feed \f U+000C o o x
Carriage Return \r U+000D o o x
Space 半角スペース U+0020 o o o
Next Line U+0085 o x x
No-Break Space U+00A0 o x o
Ogham Space Mark U+1680 o x o
En Quad U+2000 o x o
Em Quad U+2001 o x o
En Space U+2002 o x o
Em Space U+2003 o x o
Three-Per-Em Space U+2004 o x o
Four-Per-Em Space U+2005 o x o
Six-Per-Em Space U+2006 o x o
Figure Space U+2007 o x o
Punctuation Space U+2008 o x o
Thin Space U+2009 o x o
Hair Space U+200A o x o
Line Separator U+2028 o x o
Paragraph Separator U+2029 o x o
Narrow No-Break Space U+202F o x o
Medium Mathematical Space U+205F o x o
Ideographic Space 全角スペース U+3000 o x o

まとめると次のような感じなんでしょうか。

分類 文字
どれでも判定できる 半角スペース
unicode.IsSpace でしか判定できない 垂直タブ・Next Line
\pZ では判定できない 制御文字・Next Line
\s では判定できない いっぱいある

結論としては、 unicode.IsSpace を使えば良さそう という感じでしょうか。