1. ホーム
  2. string

[解決済み】Goで空の文字列をテストする最良の方法は何ですか?

2022-03-24 12:55:15

質問

空でない文字列をテストするには、どの方法が最も適していますか?

if len(mystring) > 0 { }

または

if mystring != "" { }

それとも他の何か?

解決方法は?

どちらのスタイルも、Goの標準ライブラリ内で使用されています。

if len(s) > 0 { ... }

strconv パッケージを使用します。 http://golang.org/src/pkg/strconv/atoi.go

if s != "" { ... }

encoding/json パッケージを使用します。 http://golang.org/src/pkg/encoding/json/encode.go

どちらも慣用句であり、十分に分かりやすい。どちらかというと、個人の好みの問題で、分かりやすさについてです。

ラス・コックスは、以下のように書いています。 ゴーランナットスレッド :

<ブロッククオート

コードを明確にするもの。

要素xを見ようとする場合、私は通常次のように書く。

len(s) > x, たとえ x == 0 でも、もし私が

s == "" と書くことが多いですね。

成熟したコンパイラーであれば、以下のようにコンパイルされると考えるのが妥当でしょう。

len(s) == 0 と s == "" は同じ、効率的なコードになります。

...

コードを明確にする。

で指摘されているように ティムムさんの回答 Goコンパイラは、どちらの場合も同じコードを生成します。