首页 >后端开发 >Golang >Go 中将 int 切片转换为自定义 int 切片指针类型的函数

Go 中将 int 切片转换为自定义 int 切片指针类型的函数

王林
王林转载
2024-02-08 21:33:09534浏览

Go 中将 int 切片转换为自定义 int 切片指针类型的函数

php小编新一今天为大家介绍的是在Go语言中将int切片转换为自定义int切片指针类型的函数。在Go语言中,切片(slice)是一个非常常用的数据类型,可以动态地增加或减少元素个数。有时候我们需要将一个切片转换为自定义的切片指针类型,以便在函数中进行操作。本文将详细介绍如何实现这一转换,并给出示例代码以供参考。通过本文的学习,相信大家对Go语言中的切片使用会有更加深入的了解。

问题内容

我想将 int 切片作为构造函数的输入,并返回指向原始列表的指针,将类型转换为我的外部自定义类型(type intlist []int)。

我可以做到这一点:

type intlist []int

func newintlistptr(ints []int) *intlist {
    x := intlist(ints)
    return &x
}

但我不能这样做:

type IntList []int

func NewIntListPtr(ints []int) *IntList {
    return &ints
}

// or this for that matter:

func NewIntListPtr(ints []int) *IntList {
    return &(IntList(ints))
}

// or this

func NewIntListPtr(ints []int) *IntList {
    return &IntList(*ints)
}

// or this

func NewIntListPtr(ints *[]int) *IntList {
    return &(IntList(*ints))
}

是否有一句话可以实现这一目标?

解决方法

你这样做:

func NewIntListPtr(ints []int) *IntList {
    return (*IntList)(&ints)
}

以上是Go 中将 int 切片转换为自定义 int 切片指针类型的函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除