首頁  >  文章  >  後端開發  >  Go 中將 int 切片轉換為自訂 int 切片指標類型的函數

Go 中將 int 切片轉換為自訂 int 切片指標類型的函數

王林
王林轉載
2024-02-08 21:33:09490瀏覽

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刪除