Maison > développement back-end > Golang > Fonction dans Go qui convertit une tranche int en un type de pointeur de tranche int personnalisé

Fonction dans Go qui convertit une tranche int en un type de pointeur de tranche int personnalisé

王林
Libérer: 2024-02-08 21:33:09
avant
536 Les gens l'ont consulté

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

Ce que l'éditeur PHP Xinyi vous présentera aujourd'hui est la fonction qui convertit les tranches int en types de pointeurs de tranche int personnalisés en langage Go. Dans le langage Go, slice est un type de données très couramment utilisé qui peut augmenter ou diminuer dynamiquement le nombre d'éléments. Parfois, nous devons convertir une tranche en un type de pointeur de tranche personnalisé pour une opération dans une fonction. Cet article décrira en détail comment réaliser cette conversion et donnera un exemple de code pour référence. En étudiant cet article, je pense que tout le monde comprendra mieux l'utilisation des tranches dans le langage Go.

Contenu de la question

Je souhaite prendre une tranche de int comme entrée du constructeur et renvoyer un pointeur vers la liste d'origine, en transtypant vers mon type personnalisé externe (type intlist []int).

Je peux faire ça :

type intlist []int

func newintlistptr(ints []int) *intlist {
    x := intlist(ints)
    return &x
}
Copier après la connexion

Mais je ne peux pas faire ça :

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))
}
Copier après la connexion

Existe-t-il une phrase qui peut y parvenir ?

Solution

Vous faites ceci :

func NewIntListPtr(ints []int) *IntList {
    return (*IntList)(&ints)
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal