Vai funzioni linguistiche
La funzione è il blocco di codice di base per l'esecuzione di un compito.
Andare almeno una funzione main () linguaggio.
È possibile dividere le diverse funzioni tramite la logica di funzionamento di svolgere ogni funzione è specificato compito.
dichiarazione di funzione indica il nome del compilatore di funzione, tipo di ritorno e parametri.
Vai linguaggio libreria standard fornisce una varietà di funzioni built-in possono utilizzare. Ad esempio, la funzione len () può accettare diversi tipi di argomenti e restituisce il tipo di lunghezza. Se si passa una lunghezza di stringa della stringa viene restituita, se i numeri in entrata, la funzione restituisce il numero contenuto nella matrice.
definizione di funzione
Vai funzione del linguaggio è definito nel seguente formato:
func function_name( [parameter list] ) [return_types] { 函数体 }
definizione della funzione analitica:
- func: funzione inizia una dichiarazione del func
- function_name: nome della funzione, nome della funzione e lista di parametri costituiscono insieme la firma della funzione.
- lista dei parametri]: elenco dei parametri, il parametro come segnaposto, quando viene chiamata la funzione, è possibile passare un valore per il parametro, questo valore è chiamato i parametri attuali. Lista dei parametri specifica il tipo di parametro, l'ordine e il numero di parametri. Il parametro è facoltativo, tale funzione non può contenere parametri.
- return_types: tipo di ritorno, la funzione restituisce un valore. return_types è il tipo di dati del valore della colonna. Alcune funzioni non hanno bisogno di restituire un valore, nel qual caso non return_types necessario.
- Corpo della funzione: La funzione definita serie di codici.
Esempi
I seguenti esempi sono max () codice funzione, la funzione passata due parametri intero num1 e num2, e restituisce il valore massimo di questi due parametri:
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
richiamo della funzione
Quando si crea una funzione, è necessario definire una funzione di ciò che deve essere fatto per svolgere i compiti assegnati chiamando la funzione di cambio.
Chiamare la funzione, passando i parametri di funzione e restituire valori, ad esempio:
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 }
Gli esempi sopra rimettono in funzione main () funzione max (), il risultato è:
最大值是 : 200
ritorno della funzione più valori
Funzione Go può restituire più valori, ad esempio:
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) }
Gli esempi sopra riportati Attuazione dei risultati:
Kumar Mahesh
Argomenti funzione
Se i parametri di funzione, la variabile può essere definito il parametro della funzione.
Parametri come definito nelle funzioni variabili locali nel corpo.
Chiamare la funzione, è possibile passare i parametri in due modi:
tipo di consegna | descrizione |
---|---|
trasferimento valore | Il valore è passato quando si chiama la funzione si riferisce ai parametri attuali passati alla funzione di copia, in modo che se i parametri della funzione possono essere modificati, non interesserà i parametri attuali. |
Passati per riferimento | Il passaggio per riferimento si riferisce a quando si chiama la funzione passa l'indirizzo del parametro attuale alla funzione, la funzione di modificare i parametri effettuati, interesserà i parametri attuali. |
Per impostazione predefinita, il linguaggio Go è passato per valore, cioè, durante la chiamata non influenzerà i parametri attuali.
utilizzo delle funzioni
utilizzo delle funzioni | descrizione |
---|---|
Funzioni come valori | Dopo la funzione è definita come valore da usare |
chiusure | Le chiusure sono funzioni anonime possono essere utilizzate in programmazione dinamica |
modo | Il metodo è una funzione che contiene il destinatario |