Idź - funkcje
Funkcja to grupa instrukcji, które razem wykonują zadanie. Każdy program Go ma co najmniej jedną funkcję, czylimain(). Możesz podzielić swój kod na oddzielne funkcje. To, jak podzielisz swój kod na różne funkcje, zależy od Ciebie, ale logicznie rzecz biorąc, podział powinien być taki, aby każda funkcja wykonywała określone zadanie.
Funkcja declarationinformuje kompilator o nazwie funkcji, typie zwracanego i parametrach. Funkcjadefinition dostarcza rzeczywistą treść funkcji.
Biblioteka standardowa Go zawiera wiele wbudowanych funkcji, które program może wywołać. Na przykład functionlen()pobiera argumenty różnych typów i zwraca długość typu. Jeśli przekazano do niego ciąg, funkcja zwraca długość ciągu w bajtach. Jeśli przekazana zostanie tablica, funkcja zwraca długość tablicy.
Funkcje są również znane jako method, sub-routinelub procedure.
Definiowanie funkcji
Ogólna postać definicji funkcji w języku programowania Go jest następująca -
func function_name( [parameter list] ) [return_types]
{
body of the function
}
Definicja funkcji w języku programowania Go składa się z nagłówka funkcji i treści funkcji . Oto wszystkie części funkcji -
Func - Rozpoczyna deklarację funkcji.
Function Name- To jest właściwa nazwa funkcji. Nazwa funkcji i lista parametrów razem tworzą podpis funkcji.
Parameters- Parametr działa jak symbol zastępczy. Gdy funkcja jest wywoływana, przekazujesz wartość do parametru. Ta wartość jest określana jako rzeczywisty parametr lub argument. Lista parametrów odnosi się do typu, kolejności i liczby parametrów funkcji. Parametry są opcjonalne; to znaczy, funkcja może nie zawierać żadnych parametrów.
Return Type- Funkcja może zwrócić listę wartości. Return_types to lista typów danych wartości zwracanych przez funkcję. Niektóre funkcje wykonują żądane operacje bez zwracania wartości. W tym przypadku parametr return_type nie jest wymagany.
Function Body - Zawiera zbiór instrukcji, które określają, co robi funkcja.
Przykład
Poniższy kod źródłowy przedstawia funkcję o nazwie max(). Ta funkcja przyjmuje dwa parametry num1 i num2 i zwraca maksimum między dwoma -
/* function returning the max between two numbers */
func max(num1, num2 int) int {
/* local variable declaration */
result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
Wywołanie funkcji
Tworząc funkcję Go, podajesz definicję tego, co funkcja ma robić. Aby użyć funkcji, będziesz musiał wywołać tę funkcję, aby wykonać określone zadanie.
Kiedy program wywołuje funkcję, sterowanie programem jest przekazywane do wywoływanej funkcji. Wywołana funkcja wykonuje zdefiniowane zadanie i po wykonaniu instrukcji return lub po osiągnięciu zamykającego nawiasu zamykającego funkcję zwraca sterowanie programem z powrotem do programu głównego.
Aby wywołać funkcję, wystarczy przekazać wymagane parametry wraz z nazwą funkcji. Jeśli funkcja zwraca wartość, możesz zapisać zwróconą wartość. Na przykład -
package main
import "fmt"
func main() {
/* local variable definition */
var a int = 100
var b int = 200
var ret int
/* calling a function to get max value */
ret = max(a, b)
fmt.Printf( "Max value is : %d\n", ret )
}
/* function returning the max between two numbers */
func max(num1, num2 int) int {
/* local variable declaration */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
Zachowaliśmy funkcję max () razem z funkcją main () i skompilowaliśmy kod źródłowy. Podczas uruchamiania końcowego pliku wykonywalnego dałoby to następujący wynik -
Max value is : 200
Zwracanie wielu wartości z funkcji
Funkcja Go może zwracać wiele wartości. Na przykład -
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("Mahesh", "Kumar")
fmt.Println(a, b)
}
Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -
Kumar Mahesh
Argumenty funkcji
Jeśli funkcja ma używać argumentów, musi zadeklarować zmienne, które akceptują wartości argumentów. Te zmienne nazywane sąformal parameters funkcji.
Parametry formalne zachowują się jak inne zmienne lokalne wewnątrz funkcji i są tworzone po wejściu do funkcji i niszczone po zakończeniu.
Podczas wywoływania funkcji istnieją dwa sposoby przekazywania argumentów do funkcji -
Sr.No | Typ i opis połączenia |
---|---|
1 | Zadzwoń według wartości Ta metoda kopiuje rzeczywistą wartość argumentu do parametru formalnego funkcji. W tym przypadku zmiany wprowadzone w parametrze wewnątrz funkcji nie mają wpływu na argument. |
2 | Zadzwoń przez odniesienie Ta metoda kopiuje adres argumentu do parametru formalnego. Wewnątrz funkcji adres służy do uzyskania dostępu do faktycznego argumentu użytego w wywołaniu. Oznacza to, że zmiany wprowadzone w parametrze wpływają na argument. |
Domyślnie Go używa wywołania według wartości do przekazywania argumentów. Ogólnie oznacza to, że kod funkcji nie może zmieniać argumentów używanych do wywołania funkcji. Powyższy program, wywołując funkcję max (), użył tej samej metody.
Wykorzystanie funkcji
Funkcji można używać na następujące sposoby:
Sr.No | Zastosowanie i opis funkcji |
---|---|
1 | Funkcja jako wartość Funkcje można tworzyć w locie i używać ich jako wartości. |
2 | Zamknięcia funkcji Zamknięcia funkcji są funkcjami anonimowymi i mogą być używane w programowaniu dynamicznym. |
3 | metoda Metody to specjalne funkcje z odbiornikiem. |