gpt4 book ai didi

go - 将 []int64 转换为 []uint64 的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-01 22:34:45 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to convert a slice of one numeric type to another type

(2 个回答)


去年关闭。




我想将 []int64 的 slice 转换为 []uint64,最有效和最优雅的方法是什么?我只知道以下方法:

func convert(userIDs ...int64) []uint64 {
uIDs := make([]uint64, len(userIDs))
for index, uID := range userIDs {
uIDs[index] = uint64(uID)
}
fmt.Printf("%T, %v\n", uIDs, uIDs)
return uIDs
}

最佳答案

不诉诸unsafe你无法避免 loop :

b := make([]uint64, len(a))
for i, v := range a {
b[i] = uint64(v)
}

有关更多信息/示例,请参阅 this questionthis one .如果你真的想用 unsafe然后 b := *(*[]uint64)(unsafe.Pointer(&a))会起作用(但我不建议使用它,除非您有令人信服的理由这样做)。

关于go - 将 []int64 转换为 []uint64 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60219152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com