我们有一个从C#.Net到Go语言的项目迁移。我完成了大部分工作,但我被困在一个地方。在c#中,我有一个代码,
(int)char < 31
我怎么用Go语言写这个?
答案 0 :(得分:2)
Go中没有“char”类型,您可以获得的最接近的是rune
,这是int32
的别名。
成为int32
的别名意味着类型int32
和rune
相同,您可以将rune
视为int32
个号码(因此您可以比较它,添加/减去它等。)。
但是要知道Go对类型是严格的,你不能比较不同类型的值(在你的答案中,你将它与无类型的整数常数进行比较,这是正常的)。例如,以下代码是编译时错误:
var r rune = 'a'
var i int = 100
if r < i { // Compile-time error: invalid operation: r < i (mismatched types rune and int)
fmt.Println("less")
}
如果您需要将rune
或任何其他整数类型的值转换为另一个整数类型(例如rune
到int
),您可以使用简单类型conversion ,例如。
var r rune = 'a'
var i int = 100
if int(r) < i {
fmt.Println("less")
}
答案 1 :(得分:-2)
我发现以下变化回答了我的自我
var r rune
r = 'a' // char
r < 31
这对我有用