是否有內置的方法來將bools投射到整數,反之亦然?我試過正常的投射,但由於他們使用不同的底層類型,轉換是不可能的經典方式。我傾注了一些規範,但我還沒有找到答案。有沒有辦法將整數轉換爲布爾或反之亦然?
16
A
回答
28
詮釋爲BOOL很簡單,只需將x != 0
做的伎倆。爲了走另一條路,因爲Go不支持三元運算符,你必須做的:
var x int
if b {
x = 1
} else {
x = 0
}
你當然可以把它放進一個函數:
func Btoi(b bool) int {
if b {
return 1
}
return 0
}
有這麼許多可能的整數布爾解釋,但它們都不是必然的,所以必須說出你的意思是有意義的。
根據我的經驗(YMMV),如果您編寫的代碼很好,您不必經常這樣做。它有時候很有吸引力,可以寫一個基於布爾值的數學表達式,但是你的維護者會感謝你避免它。
5
var a int = 3
var b bool = a != 0
我剛把這個到demo box上golang front page:
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 := 0
newBool := !(x == 0) // returns false
其中x
是要從轉換int
變量。
相關問題
- 1. 將ansi轉換爲utf8,反之亦然
- 2. 將float2轉換爲double2,反之亦然
- 3. 將lonlat轉換爲xyz,反之亦然
- 4. 將NSString轉換爲NSData,反之亦然
- 5. 將HTML轉換爲Xliff,反之亦然
- 6. 將JavaUtilDate轉換爲NSDate,反之亦然?
- 7. 將RSAPrivateKey轉換爲PrivateKey,反之亦然
- 8. 如何將指針轉換爲整數,反之亦然?
- 9. 如何將矩陣轉換爲3D數組或反之亦然?
- 10. 將字母轉換爲數字或反之亦然
- 11. 轉換浮到ndarray或反之亦然
- 12. F#將Map轉換爲Dict的有效方式(反之亦然)
- 13. 有沒有辦法在Python中將代碼轉換爲字符串,反之亦然?
- 14. 是字符串到整數轉換快或反之亦然
- 15. 在Java中,有沒有辦法從JSONObject轉到JSONStringer,反之亦然?
- 16. 將HTML5畫布轉換爲XML,反之亦然
- 17. 將列轉換成行,反之亦然
- 18. 將int轉換爲void *或反之亦然?
- 19. 如何將CLOB轉換爲圖像或反之亦然?
- 20. 在C中將UNICODE_STRING轉換爲ANSI或反之亦然
- 21. 使用ReSharper將'foreach'轉換爲'for'循環或反之亦然?
- 22. 如何將Java日期轉換爲OADate或反之亦然?
- 23. 將xml轉換爲JSON或反之亦然的庫
- 24. DTO轉換爲實體,反之亦然
- 25. 將數組數組轉換爲字節,反之亦然C#
- 26. 有沒有辦法在java中將字節轉換爲布爾數組?
- 27. 在JavaScript中將字符串轉換爲整數數組,反之亦然
- 28. Java - 將小時數(以double計)轉換爲分鐘(整數),反之亦然
- 29. 將字節數組轉換爲Java中的整數,反之亦然
- 30. 將PDF轉換爲字節數組和反之亦然android
是的,但它搞亂了我的代碼高爾夫 –