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.

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