[解決済み] interface{}の値の "実 "型を決定するには?
2022-05-24 07:57:23
質問
を使用するための良いリソースを見つけられませんでした。
interface{}
の型を使用するための良い資料を見つけられませんでした。たとえば
package main
import "fmt"
func weirdFunc(i int) interface{} {
if i == 0 {
return "zero"
}
return i
}
func main() {
var i = 5
var w = weirdFunc(5)
// this example works!
if tmp, ok := w.(int); ok {
i += tmp
}
fmt.Println("i =", i)
}
Goの
interface{}
?
具体的な質問
- Type of Wのquot;real"はどのように取得するのですか?
- 型の文字列表現を取得する方法はありますか?
- 型の文字列表現を使用して、値を変換する方法はありますか? 値を変換する方法はありますか?
どのように解決するのですか?
あなたの例は動作します。以下はその簡略版です。
package main
import "fmt"
func weird(i int) interface{} {
if i < 0 {
return "negative"
}
return i
}
func main() {
var i = 42
if w, ok := weird(7).(int); ok {
i += w
}
if w, ok := weird(-100).(int); ok {
i += w
}
fmt.Println("i =", i)
}
Output:
i = 49
これは タイプアサーション .
関連
-
[解決済み】32767という数字の意味は何ですか?[重複あり]
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み] IEEE754の浮動小数点が正確に表現できない最初の整数はどれでしょう?
最新
-
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 実装 サイバーパンク風ボタン