Nouvelle fonction
Leçon 3 sur 19 du cours Fonctions et pointeurs en Golang de Coddy.
Dans les dernières leçons, nous avons appris que les variables sont des objets ou des espaces en mémoire avec un nom qui pointe vers cet espace.
En Go, nous avons une fonction qui crée un espace sans nom en mémoire, et nous le faisons à l'aide de la fonction new(). La syntaxe est la suivante :
coddy := new(string)Ici, nous avons créé un objet avec le nom coddy et le type string, et la fonction new() renvoie un pointeur vers cet objet (espace).
Si nous affichons le nom, nous obtiendrons l'adresse mémoire de cet espace :
fmt.Println("Value:", coddy)Le résultat sera :
Value: 0xc000014070Nous pouvons réassigner une valeur à ce pointeur comme ceci :
coddy := new(string)
*coddy = "Learn To Code with coddy"
fmt.Println("Value:", *coddy)Le résultat sera :
Value: Learn To Code with coddyNotez que lorsque nous créons des pointeurs avec la fonction new(), la valeur par défaut n'est pas nil. Elle dépend du type, tout comme les variables. Si le type est int, la valeur par défaut est 0 ; pour string, c'est une chaîne vide ; et pour boolean, c'est false.
Défi
FacileÉcrivez un programme qui prend une entrée de l'utilisateur et fait ce qui suit :
- Crée un pointeur de type int en utilisant la fonction new().
- Affiche la valeur par défaut du pointeur.
- Assigne la valeur saisie par l'utilisateur à ce pointeur.
- Affiche la valeur du pointeur après l'assignation.
Essayez vous-même
package main
import (
"fmt"
)
func main() {
// Prendre l'entrée de l'utilisateur Ne changez pas ceci !
var num int
fmt.Scanln(&num)
// Créer un pointeur de type int en utilisant la fonction new().
// Affiche la valeur par défaut du pointeur.
fmt.Println("Default value of the pointer:", ?)
// Assigne la valeur saisie par l'utilisateur à ce pointeur
// Affiche la valeur du pointeur après l'assignation.
fmt.Println("Value of the pointer after assignment:", ?)
}
Toutes les leçons de Fonctions et pointeurs en Golang
1Introduction
Introduction4Réimplémenter les fonctions Strings de Go
Les Strings en GolangLa fonction JoinLa fonction ContainsLa fonction IndexDéfi récapitulatif n°1