Hé! J'apprends actuellement le Go Lang et je prends quelques notes de base sur ma notion et même si je les publierais également ici. Ils ne sont pas bien pensés ni bien écrits, mais c'est juste moi qui prends des notes de temps en temps pour référence.
Je suis le cours Udemy de Maximilian Schwarzmüller,
Remarques
Définir des fonctions
- toutes les fonctions définies par l'utilisateur sont définies sous la fonction principale
- une fonction dans Go peut être définie à l'aide du mot-clé func
- Nous pouvons ajouter des paramètres à la fonction, lors de l'ajout de paramètres, nous devons définir le type du paramètre
func outputText(text1 string, text2 string){
fmt.Print()
}
- si les paramètres sont du même type alors nous pouvons définir le paramètre et avoir le type une seule fois, alors nous devons ajouter le nom du paramètre et à la fin ajouter le type du paramètre
func outputText(text1, text2 string) {
fmt.Print()
}
- Après cela, nous pouvons l'utiliser comme n'importe quelle autre fonction dans n'importe quelle langue
outputText("Investment Amount: ")
fmt.Scan(&investmentAmount)
func outputText(text1 string) {
fmt.Print(text1)
}
- en langage Go, nous pouvons renvoyer plusieurs valeurs à partir d'une seule fonction
- Dans Go, les variables sont limitées à un bloc, ce qui signifie que toutes les variables définies à l'intérieur de la fonction ou du bloc sont limitées à cette fonction et nous pouvons les utiliser en dehors de la fonction
- Nous pouvons définir les variables en dehors de la fonction principale ou de toute autre fonction pour les avoir comme portée globale, puis nous pouvons les utiliser dans n'importe quelle fonction du fichier.
- Nous ne pouvons définir que les déclarations const et var comme déclarations globales, nous ne pouvons pas faire cela avec aucune autre déclaration
- Cela signifie que la syntaxe := ne peut pas être utilisée dans la portée globale
const inflationRate = 2.5
func main() {
var investmentAmount float64 = 1000
var years float64
var expectedReturn = 5.5
}
- lors du retour d'une valeur, nous devons définir le type de retour de la fonction
- Si nous renvoyons 2 valeurs, nous devons les mettre entre parenthèses arrondies, puis définir le type de retour spécifique à son type
- avec cela, nous pouvons définir des types spécifiques pour n'importe quelle démo de fonction de valeur de retour ()(float64, int){}
func calculateFutureValue(investmentAmount, expectedReturn, years float64) (float64, float64) {
fv := (investmentAmount) * math.Pow(1 expectedReturn/100, float64(years))
rfv := fv / math.Pow(1 inflationRate/100, years)
return fv, rfv
}
- lorsque nous voulons stocker les valeurs de retour dans la variable, nous pouvons avoir 2 variables par des noms de variables séparés par des virgules
futureValue, futureRealValue := calculateFutureValue(investmentAmount, expectedReturn, years)