[解決済み】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コンパイラは、どちらの場合も同じコードを生成します。
関連
-
[解決済み] OCamlでcharから文字列に変換する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み】文字列を一定の長さまで繰り返す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] strconv.Atoi()で文字列を指定するとエラーが発生する。
-
[解決済み] c++で文字列をconst char[]に変換する方法
-
[解決済み] 辞書的順序とは何ですか?
-
[解決済み] 文字列を別の変数に分割する
-
[解決済み] golangの[]stringと...stringの違いは何ですか?
-
[解決済み] Luaで文字列の中にマッチするテキストがあるかどうかを確認するには?
-
[解決済み] PowerShell の " (" - 中括弧 ) の分割について
-
[解決済み】Swift - 文字列を複数行に分割する
-
[解決済み】Objective-CのisEqualToStringのSwiftに相当するものは何ですか?
-
[解決済み】ユニコード1文字には何バイトかかりますか?