[解決済み] golangでnilはどういう意味ですか?
2022-03-11 07:47:13
質問
を使用するケースが多いようです。 ゼロ を使用します。例えば
func (u *URL) Parse(ref string) (*URL, error) {
refurl, err := Parse(ref)
if err != nil {
return nil, err
}
return u.ResolveReference(refurl), nil
}
が、このままでは使えません。
var str string //or var str int
str = nil
golang コンパイラは
can't use nil as type string in assignment
のエラーが発生します。
見た目は
nil
は、構造体とインタフェースのポインタにしか使えません。もしそうだとすると
とはどういう意味ですか?
そして
これを用いて他のオブジェクトと比較するとき、どのように比較するのか、言い換えれば、golangはどのように一方のオブジェクトがnilであると判断するのか、ということです。
?
EDIT:たとえば、あるインターフェイスがnilの場合、その型と値は同時にnilでなければなりません。golangはこれをどのように行っているのでしょうか?
解決方法は?
囲碁では
nil
は
ポインター、インターフェース、マップ、スライス、チャンネル、関数型に対するゼロ値
を表す。
未初期化
の値です。
nil
は、未定義の状態という意味ではなく、それ自体が適切な値なのです。Goのオブジェクトは
nil
のときだけです。
nil
これは、前述のタイプのいずれかである場合にのみ可能です。
An
error
はインターフェースなので
nil
とは異なり、1つの値として有効です。
string
. 明らかな理由により
nil
エラーは
エラーなし
.
関連
-
[解決済み] Notepad++ 用の Go 言語プラグイン
-
[解決済み] ParseFormはいつ使うべきで、FormValueとPostFormValueはいつ使うべきですか?
-
[解決済み] インポート "google/api/annotations.proto" が見つからないか、エラーが発生しました。依存関係として追加するにはどうすればよいですか?
-
[解決済み] キューの実装はありますか?
-
goland reports an error: package XXX is not in GOROOT (X:\XXXGo ╱src╱XXX)
-
Solve golang compile prompt dial tcp 172.217.160.113:443: connectex: 接続の試行に失敗しました
-
[解決済み] goでローカルパッケージをインポートするには?
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] パッケージ <package_name> を提供するモジュールの go.sum のエントリがありません。
-
[解決済み】複数ファイルのGoプロジェクトを整理する【クローズド
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み] GoのHTTP基本認証
-
Windowsのプロパティダイアログボックスのエンコーディングの問題 ファイル名、ディレクトリ名、ボリュームラベルの構文が正しくありません。
-
golang インストールプロンプト:ダイヤル tcp 216.58.200.241:443: connectex: 接続の試行に失敗しました。
-
[解決済み] go getコマンドとgo mod downloadコマンドの違いは何ですか?
-
[解決済み] golangでリーズナブルなスタック実装をお探しですか?
-
[解決済み] Goの:=と=の演算子の違い
-
[解決済み】マップからキーのスライスを取得する
-
[解決済み】現在実行中のファイルのディレクトリを取得するには?
-
[解決済み】指定したファイル内のテストケースを実行するには?