Functies in Go

Functies zijn in Go blokken code die specifieke taken uitvoeren. Deze kunnen in het programma opnieuw worden gebruikt om geheugen te besparen, de leesbaarheid te verbeteren en tijd te besparen. Golang -functies kunnen wel of geen waarde retourneren naar de aanroeper.

Functies in Go

Dingen die u moet weten over functies in Golang

Bijvoorbeeld:

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)
}

Resultaat:

multiplication: 50

Functiesyntaxis in Golang

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

Functiedeclaratie

In Go wordt een functie gedeclareerd met het trefwoord func, gevolgd door een naam, parameters en optioneel retourtype.

Syntaxis

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

Voorbeeld van een vermenigvuldigingsfunctie

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

func: Trefwoord om een ​​functie te declareren.
function_name: De naam van de functie, bijvoorbeeld vermenigvuldigen.
Parameterlijst: a, b int: de parameters en hun typen.
Return_type: int specificeert het retourtype.

Functie aanroepen

Om een ​​functie te gebruiken, roept u de functie eenvoudig aan met de naam en eventuele argumenten. Hier roept multiply(5, 10) de functie aan met 5 en 10 als argumenten.

Bijvoorbeeld

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

Functieargumenten

Go ondersteunt twee manieren om parameters aan functies door te geven: Call by value en Call by reference. Go gebruikt standaard 'call by value', wat betekent dat waarden worden gekopieerd en wijzigingen binnen de functie geen invloed hebben op de variabelen van de aanroeper.

Oproep op waarde

Bij een call by value worden de waarden van de argumenten gekopieerd naar de functie parameters. Wijzigingen in de functie hebben dus geen invloed op de oorspronkelijke variabelen.

Bijvoorbeeld:

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)
}

Resultaat:

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

Oproep via referentie

Bij call-by-reference worden pointers gebruikt zodat wijzigingen binnen de functie worden weerspiegeld in de variabelen van de aanroeper.

Bijvoorbeeld:

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)
}

Resultaat

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

Leave a Comment

Verschil tussen gewone tv en smart-tv

Verschil tussen gewone tv en smart-tv

Smart-tv's hebben de wereld veroverd. Dankzij zoveel geweldige functies en internetverbinding heeft technologie de manier waarop we televisiekijken veranderd.

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Koelkasten zijn vertrouwde apparaten in huishoudens. Koelkasten hebben meestal twee compartimenten. Het koelvak is ruim en heeft verlichting die automatisch aangaat wanneer de gebruiker het vak opent. Het vriesvak is smal en heeft geen verlichting.

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

Wi-Fi-netwerken worden niet alleen beïnvloed door routers, bandbreedte en interferentie, maar er zijn een aantal slimme manieren om uw netwerk te versterken.

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Als u terug wilt naar de stabiele iOS 16 op uw telefoon, vindt u hier de basisgids voor het verwijderen van iOS 17 en downgraden van iOS 17 naar 16.

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Yoghurt is een heerlijk voedingsmiddel. Is het goed om elke dag yoghurt te eten? Hoe verandert je lichaam als je elke dag yoghurt eet? Laten we het samen ontdekken!

Welk type rijst is het beste voor de gezondheid?

Welk type rijst is het beste voor de gezondheid?

In dit artikel worden de meest voedzame rijstsoorten besproken en hoe u de gezondheidsvoordelen van de rijst die u kiest, optimaal kunt benutten.

Hoe word je s ochtends op tijd wakker?

Hoe word je s ochtends op tijd wakker?

Een slaapschema en bedtijdroutine opstellen, uw wekker verzetten en uw dieet aanpassen zijn enkele maatregelen die u kunnen helpen om beter te slapen en 's ochtends op tijd wakker te worden.

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Huren alstublieft! Landlord Sim is een simulatiespel voor mobiel op iOS en Android. Je speelt als verhuurder van een appartementencomplex en begint met het verhuren van een appartement. Je doel is om het interieur van je appartement te verbeteren en het gereed te maken voor huurders.

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

Ontvang de Roblox-gamecode voor Bathroom Tower Defense en wissel deze in voor geweldige beloningen. Ze helpen je bij het upgraden of ontgrendelen van torens met hogere schade.

Structuur, symbolen en werkingsprincipes van transformatoren

Structuur, symbolen en werkingsprincipes van transformatoren

Laten we op de meest nauwkeurige manier de structuur, symbolen en werkingsprincipes van transformatoren leren kennen.

4 manieren waarop AI smart-tvs beter maakt

4 manieren waarop AI smart-tvs beter maakt

Van betere beeld- en geluidskwaliteit tot spraakbesturing en meer: ​​deze AI-functies maken smart-tv's zoveel beter!

Waarom ChatGPT beter is dan DeepSeek

Waarom ChatGPT beter is dan DeepSeek

Aanvankelijk hadden mensen hoge verwachtingen van DeepSeek. Deze AI-chatbot wordt op de markt gebracht als sterke concurrent van ChatGPT en belooft intelligente chatmogelijkheden en -ervaringen.

Maak kennis met Fireflies.ai: de gratis AI-secretaris die u uren werk bespaart

Maak kennis met Fireflies.ai: de gratis AI-secretaris die u uren werk bespaart

Het is gemakkelijk om belangrijke details te missen wanneer u andere belangrijke zaken opschrijft. Bovendien kan het maken van aantekeningen tijdens een gesprek afleidend werken. Fireflies.ai is de oplossing.

Hoe je een Axolotl in Minecraft grootbrengt en een Minecraft Salamander temt

Hoe je een Axolotl in Minecraft grootbrengt en een Minecraft Salamander temt

Axolot Minecraft is een geweldige assistent voor spelers die onderwater opereren, als ze maar weten hoe ze deze moeten gebruiken.

A Quiet Place: The Road Ahead PC-gameconfiguratie

A Quiet Place: The Road Ahead PC-gameconfiguratie

De configuratie van A Quiet Place: The Road Ahead wordt als zeer positief beoordeeld. Houd hier dus rekening mee voordat u besluit om te downloaden.