Salut tout le monde dans Golang que ferez-vous si vous avez besoin de changer le pointeur (changer où le pointeur pointe à plutôt que de changer la valeur vers laquelle pointe ce pointeur). Je sais qu'il est vraiment facile en C++ en utilisant la référence, comme »golang a le pointeur du pointeur ou la fonction de référence du pointeur?
void myFunc(Type*& ptr)
{
ptr = anotherPointer;
}
int main
{
Type* ptr = &someValue;
myFunc(ptr); // ptr is moved
}
ou de manière équivalente en C, utilisez le pointeur de pointeur:
void myFunc(Type** ptrsptr)
{
*ptrsptr = anotherPointer;
}
int main
{
Type* ptr = &someValue;
myFunc(&ptr); // ptr is moved
}
Je me demande si golang a cette caractéristique propre, ou sinon, la seule façon est de mettre au retour de la fonction?
Bonne réponse! Mais pourquoi golang n'adopte pas la référence de style C++? – Jun
@Jun - parce que Go n'est pas C++. Go s'efforce d'avoir des fonctions orthogonales simples. – JimB