如何在golang中将int(int64)转换为uint16?

12

我可以百分之百保证输入的int变量值始终是无符号(正数)且小于int16。

如何将这个int类型变量转换为uint16?

2个回答

37
// convert the type and assign to new variable or pass as a parameter. 
var i int
...
u := uint16(i)
foo(uint16(i))

5
吹毛求疵:Go语言没有类型转换;我们所处理的是称为类型转换的过程。Go语言对此类事情非常明确。 - kostix
感谢。编辑了示例。我之前没有注意到这个区别,但确实,我在Go作者提供的文档中没有找到“cast”这个术语,只有其他人提供的示例中出现了这个词。 - WeakPointer

6

您需要检查数字不是负数,且小于或等于0xFFFF,然后将其转换为无符号的16位整数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接