如何将* uint64和* uint32数据类型转换为int数据类型?

Nurzhan Nogerbek:

就我而言,我有2个变量,其数据类型为*uint64*uint32我需要将它们转换为int数据类型。

当我尝试将它们转换为int()函数时,会引发以下错误:

无法将* uint64类型的表达式转换为int类型。

我注意到,int()如果数据类型没有* (asterisk)字符,则相同的函数可以正常工作

所以我的问题是如何正确地将数据类型*uint64*uint32数据类型转换为int数据类型?

icza:

您不能(不应)将指针转换为int,最可能要做的就是将指向的值转换为int

因此,只需取消引用指针即可获得uint64and uint32值,您可以将其转换为:

var i *uint64 = new(uint64)
var j *uint32 = new(uint32)
*i = 1
*j = 2

var k, l int
k = int(*i)
l = int(*j)

fmt.Println(k, l)

输出(在Go Playground上尝试):

1 2

请注意,当然,如果指针为nil,尝试取消引用(如*i)会导致运行时出现紧急情况。

另请注意,的大小(以及有效范围)int取决于平台,可能是64位和32位。因此,将任何uint64转换int可能会丢失高32位,并且某些正输入数可能会变成负数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

golang如何将uint64转换为int64?

如何将uint64转换为uint?

如何将uint64转换为字符串

将[8] byte转换为uint64

如何将NSInteger转换为NSString数据类型?

将float转换为uint64和uint32的行为异常

无法将类型“ Int”的值转换为预期的参数类型“ UInt32”

C ++ \ CLI-如何将UInt64 ^%转换为unsigned long long *

uint32,int16,uint8 ..为什么这些常用数据类型未纳入标准

skimage.transform.rescale将数据类型从uint8更改为float64

PHP-将十六进制字符串转换为uint64和int64

如果NSDecimalNumber大于Uint64,如何将NSDecimalNumber转换为字节数组?

将UnsafeMutableRawPointer转换为UInt64

如何将Mobus数据数组的数据类型转换为REAL数据类型

将具有<NA>值的Int64数据类型的列转换为具有nan值的对象

如何使用dart:ffi将Uint8List转换为C等效数据类型

如何在python中将列数据类型int64转换为分类列数据类型?

将图像数据类型从uint16转换为uint8

将数据框数据类型从对象转换为float64时出现问题

如何将np.dot的数据类型结果从float64更改为uint8?

如何将Date数据类型转换为整数?

将输入变量转换为Uint64

将字符串转换为char和int数据类型

SQL:左联接和求和:将表达式转换为数据类型int的算术溢出错误

如何将所有列数据类型动态转换为数字和字符?

如何将 nvarchar 数据类型转换为数字

如何将 uint64 转换为十六进制

如何将 PyObjects 转换为 C 数据类型?

如何为 MPI 数据类型定义 uint_fast32_t?