Argumenty funkcji w Golangu

W języku Go funkcja to grupa poleceń służących do wykonywania zadań z opcjonalną wartością zwracaną . W języku Go obsługiwane są dwa główne sposoby przekazywania argumentów: przekazywanie przez wartość i przekazywanie przez referencję. Go domyślnie używa przekazywania przez wartość.

Argumenty funkcji w Golangu

Podstawowe pojęcia związane z przekazywaniem parametrów do funkcji:

  • Parametry rzeczywiste: Argumenty przekazane do funkcji.
  • Parametry formalne: Parametry otrzymane przez funkcję.

Na przykład

package main
import "fmt"

// Cố gắng sửa đổi giá trị của num
func modify(num int) {
    num = 50
}

func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(num)
    fmt.Printf("After, num = %d\n", num)
}

W tym przykładzie numpozostaje niezmieniony po wywołaniu, modifyponieważ jest przekazywany przez wartość.

Składnia

func functionName(param Type) {
    // function body                                        # Gọi theo giá trị
}

func functionName(param *Type) {
    // function body                                       # Gọi theo tham chiếu
}

Zadzwoń według wartości

W przypadku wywołania według wartości przekazywana jest kopia rzeczywistej wartości parametru. Zmiany wprowadzone w funkcji nie mają wpływu na oryginalną zmienną.

Składnia

func functionName(param Type) {
    // function body
}

Na przykład:

package main
import "fmt"

// Chỉnh sửa giá trị của num
func modify(num int) {
    num = 50
}

func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(num)
    fmt.Printf("After, num = %d\n", num)
}

Wynik:

Before, num = 20
After, num = 20

Wartość pozostaje taka sama, gdyż zmiany wewnątrz modifynie mają wpływu numna zewnątrz main.

Argumenty funkcji w Golangu

Zadzwoń przez odniesienie

W przypadku wywołania przez referencję przekazywany jest wskaźnik do rzeczywistego parametru, więc wszelkie zmiany wewnątrz funkcji są odzwierciedlane w oryginalnej zmiennej.

Składnia

func functionName(param *Type) {
    // function body
}

Na przykład:

package main
import "fmt"

// Chỉnh sửa giá trị của num qua tham chiếu
func modify(num *int) {
    *num = 50
}

func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(&num)
    fmt.Printf("After, num = %d\n", num)
}

Wynik

Before, num = 20
After, num = 50

Ponieważ numwartość jest przekazywana przez referencję, polecenie modifyzmieni jej wartość, co zostanie odzwierciedlone w poleceniu main.

Sign up and earn $1000 a day ⋙

Leave a Comment

Jak używać stałych w Golang

Jak używać stałych w Golang

Co to jest Constant lub Const w języku Golang? Oto, co musisz wiedzieć o korzystaniu ze stałych w języku Go.

Funkcje lotne w Golang

Funkcje lotne w Golang

Funkcje zmienne w języku Go umożliwiają przekazywanie zmiennej liczby argumentów do funkcji. Oto wszystko, co musisz wiedzieć o funkcjach ulotnych w języku Go.

Nazwane parametry zwracane w Golang

Nazwane parametry zwracane w Golang

W języku Golang nazwane parametry zwracane są często określane mianem parametrów nazwanych. Język Go pozwala na nazywanie parametrów zwracanych lub wyników funkcji w sygnaturze lub definicji funkcji.

Słowa kluczowe w Go

Słowa kluczowe w Go

Słowo kluczowe – słowa kluczowe to wyrazy w języku, które są używane w odniesieniu do pewnego wewnętrznego procesu lub reprezentują pewne zdefiniowane wcześniej działanie. Oto, co musisz wiedzieć o słowach kluczowych w języku Golang.

Typy danych w Golang

Typy danych w Golang

Typ danych określa typ danych, jakie może zawierać prawidłowa zmienna języka Go. W języku Go typy dzielą się na cztery kategorie:

Funkcja zwracająca wiele wartości w Golang

Funkcja zwracająca wiele wartości w Golang

W języku Go można zwracać wiele wartości z funkcji, korzystając z polecenia return. Innymi słowy, w funkcji polecenie return może zwracać wiele wartości.

Instrukcja Switch w Go

Instrukcja Switch w Go

Golang, podobnie jak większość innych języków programowania, posiada instrukcję switch. Oto jak używać instrukcji switch w języku Golang.

Przypadki, o których należy pamiętać podczas korzystania z poleceń wyboru w języku Golang

Przypadki, o których należy pamiętać podczas korzystania z poleceń wyboru w języku Golang

W tym artykule dowiesz się, jak używać domyślnego przypadku, aby uniknąć impasu. Najpierw jednak sprawdźmy, jaki jest przypadek impasu podczas korzystania z polecenia select w języku Go?

Anonimowe struktury i pola w Golang

Anonimowe struktury i pola w Golang

Anonimowe struktury w Golangu to tymczasowe struktury bez nazw, używane do jednorazowych celów, natomiast pola anonimowe umożliwiają osadzanie nienazwanych pól.

Jak używać Rune w Golang

Jak używać Rune w Golang

Czym są runy w języku Golang? Jak używać Rune w Golang? Odpowiedź znajdziesz w tym artykule.

Jak używać operatorów w Golang

Jak używać operatorów w Golang

Operatorzy pozwalają nam wykonywać różne typy operacji na operandach. W języku Go operatory można klasyfikować na podstawie ich różnych funkcji.

Identyfikator Void w Golang

Identyfikator Void w Golang

_(podkreślenie) w języku Golang nazywane jest pustym identyfikatorem. Identyfikator to zdefiniowana przez użytkownika nazwa komponentów programu, stosowana w celach identyfikacyjnych.

Jak stworzyć podstawowy program w Golang

Jak stworzyć podstawowy program w Golang

Witaj, świecie! jest pierwszym podstawowym programem w dowolnym języku programowania. Możesz napisać ten pierwszy program w języku Go, wykonując poniższe kroki.

Jak zainstalować Go w systemie Windows

Jak zainstalować Go w systemie Windows

Golang można łatwo zainstalować w systemie Windows. Poniżej znajduje się szczegółowy przewodnik krok po kroku dotyczący instalacji Golang w systemie Windows.

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ę.