Funkcje w Go

W języku Go funkcje to bloki kodu wykonujące określone zadania. Można je wielokrotnie wykorzystywać w całym programie, aby oszczędzać pamięć, poprawiać czytelność i oszczędzać czas. Funkcje języka Go mogą lub nie zwracać wartości do wywołującego.

Funkcje w Go

Rzeczy, które warto wiedzieć o funkcjach w Golang

Na przykład:

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

Wynik:

multiplication: 50

Składnia funkcji w Golang

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

Deklaracja funkcji

W języku Go funkcję deklaruje się za pomocą słowa kluczowego func, po którym następuje nazwa, parametry i opcjonalny typ zwracany.

Składnia

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

Przykład funkcji mnożenia

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

func: Słowo kluczowe do deklarowania funkcji.
function_name: Nazwa funkcji, np. zwielokrotniać.
Lista parametrów: a, b int — parametry wraz z ich typami.
Typ_zwracany: int określa typ zwracany.

Funkcja wywołania

Aby użyć funkcji, wystarczy wywołać ją po nazwie i podać wszystkie niezbędne argumenty. Tutaj multiply(5, 10) wywołuje funkcję z 5 i 10 jako argumentami.

Na przykład

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

Argumenty funkcji

Język Go obsługuje dwa sposoby przekazywania parametrów do funkcji: wywołanie przez wartość i wywołanie przez odwołanie. Domyślnie Go korzysta z wywołania przez wartość, co oznacza, że ​​wartości są kopiowane, a zmiany wewnątrz funkcji nie mają wpływu na zmienne wywołującego.

Zadzwoń według wartości

W wywołaniu według wartości wartości argumentów są kopiowane do parametrów funkcji, więc zmiany w funkcji nie wpływają na oryginalne zmienne.

Na przykład:

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

Wynik:

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

Zadzwoń przez odniesienie

W wywołaniu przez odwołanie wskaźniki są używane po to, aby zmiany wewnątrz funkcji były odzwierciedlane w zmiennych wywołującego.

Na przykład:

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

Wynik

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

Leave a Comment

Różnica między zwykłym telewizorem a Smart TV

Różnica między zwykłym telewizorem a Smart TV

Telewizory Smart TV naprawdę podbiły świat. Dzięki tak wielu świetnym funkcjom i możliwościom połączenia z Internetem technologia zmieniła sposób, w jaki oglądamy telewizję.

Dlaczego zamrażarka nie ma światła, a lodówka tak?

Dlaczego zamrażarka nie ma światła, a lodówka tak?

Lodówki to powszechnie stosowane urządzenia gospodarstwa domowego. Lodówki zazwyczaj mają dwie komory: komora chłodna jest pojemna i posiada światło, które włącza się automatycznie po każdym otwarciu lodówki, natomiast komora zamrażarki jest wąska i nie posiada światła.

2 sposoby na naprawę przeciążenia sieci, które spowalnia sieć Wi-Fi

2 sposoby na naprawę przeciążenia sieci, które spowalnia sieć Wi-Fi

Na działanie sieci Wi-Fi wpływa wiele czynników poza routerami, przepustowością i zakłóceniami. Istnieje jednak kilka sprytnych sposobów na usprawnienie działania sieci.

Jak obniżyć wersję iOS 17 do iOS 16 bez utraty danych za pomocą Tenorshare Reiboot

Jak obniżyć wersję iOS 17 do iOS 16 bez utraty danych za pomocą Tenorshare Reiboot

Jeśli chcesz powrócić do stabilnej wersji iOS 16 na swoim telefonie, poniżej znajdziesz podstawowy przewodnik, jak odinstalować iOS 17 i obniżyć wersję iOS 17 do 16.

Co dzieje się z organizmem, gdy codziennie jesz jogurt?

Co dzieje się z organizmem, gdy codziennie jesz jogurt?

Jogurt jest wspaniałym produktem spożywczym. Czy warto jeść jogurt codziennie? Jak zmieni się Twoje ciało, gdy będziesz jeść jogurt codziennie? Przekonajmy się razem!

Który rodzaj ryżu jest najlepszy dla zdrowia?

Który rodzaj ryżu jest najlepszy dla zdrowia?

W tym artykule omówiono najbardziej odżywcze rodzaje ryżu i dowiesz się, jak zmaksymalizować korzyści zdrowotne, jakie daje wybrany przez Ciebie rodzaj ryżu.

Jak obudzić się rano na czas

Jak obudzić się rano na czas

Ustalenie harmonogramu snu i rutyny związanej z kładzeniem się spać, zmiana budzika i dostosowanie diety to niektóre z działań, które mogą pomóc Ci lepiej spać i budzić się rano o odpowiedniej porze.

Wskazówki dotyczące gry Rent Please! Symulator wynajmującego dla nowicjuszy

Wskazówki dotyczące gry Rent Please! Symulator wynajmującego dla nowicjuszy

Proszę o wynajem! Landlord Sim to mobilna gra symulacyjna dostępna na systemy iOS i Android. Wcielisz się w rolę właściciela kompleksu apartamentowego i wynajmiesz mieszkania, a Twoim celem jest odnowienie wnętrz apartamentów i przygotowanie ich na przyjęcie najemców.

Najnowsze kody do obrony wieży łazienkowej i jak je wprowadzać

Najnowsze kody do obrony wieży łazienkowej i jak je wprowadzać

Zdobądź kod do gry Bathroom Tower Defense Roblox i wymień go na atrakcyjne nagrody. Pomogą ci ulepszyć lub odblokować wieże zadające większe obrażenia.

Budowa, symbole i zasady działania transformatorów

Budowa, symbole i zasady działania transformatorów

Poznajmy budowę, symbole i zasady działania transformatorów w jak najbardziej dokładny spos��b.

4 sposoby, w jakie sztuczna inteligencja ulepsza inteligentne telewizory

4 sposoby, w jakie sztuczna inteligencja ulepsza inteligentne telewizory

Od lepszej jakości obrazu i dźwięku po sterowanie głosowe i wiele więcej — te funkcje oparte na sztucznej inteligencji sprawiają, że inteligentne telewizory stają się o wiele lepsze!

Dlaczego ChatGPT jest lepszy niż DeepSeek

Dlaczego ChatGPT jest lepszy niż DeepSeek

Początkowo ludzie wiązali duże nadzieje z DeepSeek. Jako chatbot oparty na sztucznej inteligencji, reklamowany jako silny konkurent ChatGPT, obiecuje inteligentne możliwości i doświadczenia związane z czatem.

Poznaj Fireflies.ai: darmową sekretarkę AI, która zaoszczędzi Ci godzin pracy

Poznaj Fireflies.ai: darmową sekretarkę AI, która zaoszczędzi Ci godzin pracy

Łatwo jest przegapić ważne szczegóły podczas zapisywania innych istotnych informacji, a próba robienia notatek podczas rozmowy może być rozpraszająca. Rozwiązaniem jest Fireflies.ai.

Jak hodować aksolotla w Minecraft, oswoić salamandrę w Minecraft

Jak hodować aksolotla w Minecraft, oswoić salamandrę w Minecraft

Axolot Minecraft będzie świetnym pomocnikiem dla graczy operujących pod wodą, jeśli tylko będą umieli się nim posługiwać.

Konfiguracja gry A Quiet Place: The Road Ahead na PC

Konfiguracja gry A Quiet Place: The Road Ahead na PC

Konfiguracja gry A Quiet Place: The Road Ahead została oceniona dość wysoko, dlatego też przed podjęciem decyzji o pobraniu należy wziąć ją pod uwagę.