Fonctions en Go

En Go, les fonctions sont des blocs de code qui exécutent des tâches spécifiques, qui peuvent être réutilisées dans tout le programme pour économiser de la mémoire, améliorer la lisibilité et gagner du temps. Les fonctions Golang peuvent ou non renvoyer une valeur à l'appelant.

Fonctions en Go

Choses à savoir sur les fonctions de Golang

Par exemple:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Résultat:

multiplication: 50

Syntaxe des fonctions en Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Déclaration de fonction

En Go, une fonction est déclarée avec le mot-clé func, suivi d'un nom, de paramètres et d'un type de retour facultatif.

Syntaxe

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Exemple de fonction de multiplication

func multiply(a, b int) int {
    return a * b
}

func : Mot clé pour déclarer une fonction.
function_name : le nom de la fonction, par exemple multiplier.
Liste de paramètres : a, b int : les paramètres ainsi que leurs types.
Return_type : int spécifie le type de retour.

Fonction d'appel

Pour utiliser une fonction, appelez simplement la fonction par son nom avec tous les arguments nécessaires. Ici, multiply(5, 10) appelle la fonction avec 5 et 10 comme arguments.

Par exemple

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Arguments de fonction

Go prend en charge deux manières de transmettre des paramètres aux fonctions : l'appel par valeur et l'appel par référence. Par défaut, Go utilise l'appel par valeur, ce qui signifie que les valeurs sont copiées et que les modifications à l'intérieur de la fonction n'affectent pas les variables de l'appelant.

Appel par valeur

Dans l'appel par valeur, les valeurs des arguments sont copiées dans les paramètres de la fonction, de sorte que les modifications de la fonction n'affectent pas les variables d'origine.

Par exemple:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Résultat:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Appel par référence

Dans l'appel par référence, des pointeurs sont utilisés pour que les modifications à l'intérieur de la fonction soient reflétées dans les variables de l'appelant.

Par exemple:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Résultat

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

Why doesnt the freezer have a light but the refrigerator does?

Why doesnt the freezer have a light but the refrigerator does?

Refrigerators are familiar appliances in families. Refrigerators usually have 2 compartments, the cool compartment is spacious and has a light that automatically turns on every time the user opens it, while the freezer compartment is narrow and has no light.

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

Wi-Fi networks are affected by many factors beyond routers, bandwidth, and interference, but there are some smart ways to boost your network.

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Si vous souhaitez revenir à la version stable d'iOS 16 sur votre téléphone, voici le guide de base pour désinstaller iOS 17 et rétrograder d'iOS 17 à 16.

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Le yaourt est un aliment merveilleux. Est-il bon de manger du yaourt tous les jours ? Si vous mangez du yaourt tous les jours, comment votre corps va-t-il changer ? Découvrons-le ensemble !

Quel type de riz est le meilleur pour la santé ?

Quel type de riz est le meilleur pour la santé ?

Cet article présente les types de riz les plus nutritifs et comment maximiser les bienfaits pour la santé du riz que vous choisissez.

Comment se réveiller à lheure le matin

Comment se réveiller à lheure le matin

Établir un horaire de sommeil et une routine de coucher, changer votre réveil et ajuster votre alimentation sont quelques-unes des mesures qui peuvent vous aider à mieux dormir et à vous réveiller à l’heure le matin.

Latest Bathroom Tower Defense Codes and How to Enter Codes

Latest Bathroom Tower Defense Codes and How to Enter Codes

Get Bathroom Tower Defense Roblox game codes and redeem them for exciting rewards. They will help you upgrade or unlock towers with higher damage.

4 façons dont lIA améliore les téléviseurs intelligents

4 façons dont lIA améliore les téléviseurs intelligents

De la meilleure qualité d’image et de son au contrôle vocal et bien plus encore, ces fonctionnalités alimentées par l’IA rendent les téléviseurs intelligents bien meilleurs !

Pourquoi ChatGPT est meilleur que DeepSeek

Pourquoi ChatGPT est meilleur que DeepSeek

Au début, les gens avaient de grands espoirs pour DeepSeek. En tant que chatbot IA commercialisé comme un concurrent sérieux de ChatGPT, il promet des capacités et des expériences de chat intelligentes.

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Il est facile de manquer des détails importants lorsque l’on note d’autres éléments essentiels, et essayer de prendre des notes tout en discutant peut être distrayant. Fireflies.ai est la solution.

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Axolot Minecraft sera un excellent assistant pour les joueurs lorsqu'ils opèrent sous l'eau s'ils savent comment les utiliser.

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds is a new form of malvertising, where scammers use legitimate advertising platforms and make sure their malicious sites avoid censorship as much as possible.

What to do when you see the “AirTag Found Moving With You” warning?

What to do when you see the “AirTag Found Moving With You” warning?

Wondering what the Airtag Found Moving With You warning is? Its a safety feature on AirTags designed to prevent them from being used to track you.

Le pouvoir mystérieux du nombre 33 en numérologie

Le pouvoir mystérieux du nombre 33 en numérologie

En numérologie, le nombre 33 est souvent considéré comme un nombre puissant et mystique. Voici ce que vous devez savoir sur le nombre 33 en numérologie.

What is dark energy?

What is dark energy?

Dark energy is driving the accelerating expansion of the universe, but its nature remains a complete mystery. Heres what you need to know about dark energy.