Idź funkcji językowych
Funkcja jest podstawowym blok kodu do wykonania zadania.
Idź język przynajmniej funkcji main ().
Można podzielić różne funkcje za pomocą logiki funkcji do wykonywania poszczególnych funkcji jest określone zadanie.
deklaracja funkcji kompilator mówi nazwę funkcji, typ zwracanej i parametrów.
Idź język biblioteka standardowa zawiera wiele wbudowanych funkcji mogą korzystać. Na przykład, funkcja len () może przyjmować różne typy argumentów i zwraca typ długości. Jeśli mijamy długości ciąg ciąg jest zwracany, jeśli przychodzących numerów, funkcja zwraca liczbę zawartych w tablicy.
definicja funkcji
Idź funkcją języka jest określona w następującym formacie:
func function_name( [parameter list] ) [return_types] { 函数体 }
Analityczna definicja funkcji:
- func: Funkcja uruchamia oświadczenie func
- function_name: nazwa funkcji, nazwa funkcji i lista parametrów razem stanowią podpisu funkcji.
- Lista parametrów]: lista parametrów, parametr jako miejsce, gdy funkcja jest wywoływana, można przekazać wartość do parametru, wartość ta nazywana jest rzeczywiste parametry. Lista parametrów określa typ parametru, porządku i liczbę parametrów. Parametr ten jest opcjonalny, że funkcja nie może zawierać parametry.
- return_types: typ zwracany, funkcja zwraca wartość. return_types jest typ danych wartości kolumny. Niektóre funkcje nie muszą zwracać wartość, w tym przypadku nie return_types konieczne.
- Ciało funkcji: Funkcja definiuje zestaw kodów.
Przykłady
Poniższe przykłady max () Kod funkcji, funkcja całkowitej przekazywane dwa parametry num1 i num2 i zwraca wartość maksymalną z tych dwóch parametrów:
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
wywołanie funkcji
Po utworzeniu funkcji, można zdefiniować funkcję, co należy zrobić, aby wykonać zadania powierzone przez wywołanie funkcji zmiany.
Wywołanie funkcji, przekazując parametry funkcji i zwracane wartości, na przykład:
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 var ret int /* 调用函数并返回最大值 */ ret = max(a, b) fmt.Printf( "最大值是 : %d\n", ret ) } /* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 定义局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
Powyższe przykłady zadzwonić w funkcji main () funkcji max (), to wynik jest:
最大值是 : 200
wiele wartości zwracanej przez funkcję
funkcję Idź mogą 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) }
Powyższe przykłady implementacji wyników:
Kumar Mahesh
Argumenty funkcji
Jeśli parametry funkcyjne, zmienna może być określany przez parametr funkcyjny.
Parametry określone w zmiennych lokalnych funkcji w organizmie.
Wywołanie funkcji można przekazać parametry na dwa sposoby:
Rodzaj dostawy | opis |
---|---|
Wartość transferu | Wartość ta jest przekazywana, gdy wywołanie funkcji odnosi się do rzeczywistych parametrów przekazywanych do funkcji kopiowania, tak, że jeśli parametry funkcyjne mogą być modyfikowane, nie wpłynie na rzeczywiste parametry. |
Przekazywane przez referencję | Przechodząc przez odniesienie dotyczy podczas wywoływania funkcji przechodzi adres rzeczywisty parametr do funkcji, to funkcja, aby zmodyfikować parametry przeprowadzane będą miały wpływ na rzeczywiste parametry. |
Domyślnie język Go jest przekazywane przez wartość, czyli w trakcie połączenia nie wpłynie na rzeczywiste parametry.
wykorzystanie funkcji
wykorzystanie funkcji | opis |
---|---|
Funkcje jako wartości | Gdy funkcja ta jest definiowana jako wartość ma |
zamknięcia | Zamknięcia są anonimowe funkcje mogą być stosowane w programowania dynamicznego |
sposób | Metoda ta jest funkcją, która zawiera odbiorcę |