boolを整数に、またはその逆にキャストする組み込み方法はありますか?私は通常のキャスティングを試みましたが、異なる基底型を使用しているため、古典的な方法では変換できません。私は仕様のいくつかを注いだ、と私はまだ答えを見つけていない。整数をboolに変換する方法はありますか、逆もありますか?
16
A
答えて
28
のIntをブール値に簡単ですが、ちょうどx != 0
は、トリックを行います。 Goは三項演算子をサポートしていませんので、他の道を行くために、あなたは何をする必要があるだろう:
func Btoi(b bool) int {
if b {
return 1
}
return 0
}
がとてもあります。あなたは、もちろん機能でこれを置くことができ
var x int
if b {
x = 1
} else {
x = 0
}
整数の多くの可能なブール解釈、それらのどれも必ずしも自然なものではなく、あなたが意味することを言わなければならないのは意味がある。
私の経験(YMMV)では、良いコードを書いている場合、これを頻繁に行う必要はありません。ブール値に基づいて数式を書くことができるのは時々魅力的ですが、メンテナーはそれを避けることに感謝します。ここで
5
var a int = 3
var b bool = a != 0
私はちょうどgolang front pageにdemo boxにこれを落とし:
package main
import "fmt"
func main() {
var a int = 3
var b bool = a != 0
fmt.Println("Hello, 世界", b)
}
出力:
Hello, 世界 true
3
はint
からbool
に変換するトリックです:
x
はあなたから変換する
int
変数である
x := 0
newBool := !(x == 0) // returns false
。
関連する問題
- 1. テキストをコードに変換する方法はありますか?
- 2. Controls.ContextMenuをForms.ContextMenuに変換する方法はありますか?
- 3. 整数値を表示するために、バイト配列を整数に変換してから文字列に変換する方法はありますか?
- 4. TimePrimitiveをintへ変換する方法はありますか?
- 5. 関数型をhaskellに変換する方法はありますか?
- 6. これをjQuery関数に変換する方法はありますか?
- 7. 文字列をJavaのファイルに変換する方法とその逆の方法はありますか?
- 8. リストをベクターに変換するより良い方法はありますか?
- 9. long整数の文字列をBigIntegerに変換する方法はありますか?
- 10. 24ビット(整数値)を文字列に変換する方法とその逆を行う方法はありますか?
- 11. PHP GETリクエストにあまりにも多くの変数がありますか?
- 12. freemarkerの文字に整数をキャストする方法はありますか?
- 13. 整数型変換へのポインタが互換性がありませんviewcontroller *をBOOL型のパラメータに送信
- 14. グラフィックスオブジェクトを変更せずにあるポイントから別のポイントに変換する方法はありますか?
- 15. UTF8からiso-8859-1に変換する方法はありますか?
- 16. xmlからjsonに変換する方法はありますか?
- 17. Windowsでは、errnoをHRESULTに変換する方法はありますか?
- 18. 浮動小数点数をC#で最も近い整数に丸める方法はありますか?
- 19. RubyコードをPHPに簡単に変換する方法はありますか?
- 20. 関数内にあるjavascript関数の外部にある変数を返す方法はありますか?
- 21. 変数内の変数を参照する方法はありますか? (powershell)
- 22. ビューに変数を渡すより良い方法はありますか?
- 23. map.rootを '/'以外のものに変更する方法はありますか?
- 24. イメージのGUIをhtmlに変換する方法はありますか?
- 25. Java:テキストをクラスに変換する方法はありますか?
- 26. XML :: TwigオブジェクトをXML :: XPathオブジェクトに変換する方法はありますか?
- 27. MVC 3モデルをノックアウトビューモデルに変換する方法はありますか
- 28. Optionをscalazの検証に変換する方法はありますか?
- 29. jsonをPHPでxmlに変換する方法はありますか?
- 30. このSQLクエリをMDXクエリに変換する方法はありますか?
ええ、それは私のコードゴルフを台無しにする –