English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基础教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Golang 并发

Golang 异常(Error)

Golang 其他杂项

Go 语言变参函数

用不同数量的参数调用的函数称为可变参数函数。换句话说,允许用户在可变函数中传递零个或多个参数。fmt.Printf是可变参数函数的示例,它在开始时需要一个固定的参数,之后它可以接受任意数量的参数。

重要事项:

  • 在可变参数函数的声明中,最后一个参数的类型前面带有省略号,即(...)。这表明该函数可以调用任意数量的这种类型的参数

    Sintassi:

    function function_name(para1, para2...type)type{
        // code...
    }
  • funzione function …typediIl comportamento è simile a una slice (slice). Ad esempio, supponiamo di avere una firma di funzione, ossia add(b…int)int, che ora è un parametro di tipo type [] int.

  • Si può anche passare una slice esistente alla funzione con parametri variabili. Per fare questo, passeremo una parte dell'array alla funzione, come nell'esempio seguente.Esempio 2come mostrato.

  • Quando non si passano parametri alla funzione con parametri variabili, il valore predefinito all'interno della funzione è nil.

  • Le funzioni con parametri variabili sono spesso utilizzate per la formattazione delle stringhe.

  • Si può anche passare più slice alla funzione con parametri variabili.

  • Non si può utilizzare un parametro variabile come valore di ritorno, ma si può restituire come slice.

Esempio di演示 con zero e più parametri:

package main
import (
    "fmt"
    "strings"
)
// Funzione con parametri variabili per unire stringhe
func joinstr(element ...string) string {
    return strings.Join(element, "-")
}
func main() {
    // Senza parametri
    fmt.Println(joinstr())
    // Parametri multipli
    fmt.Println(joinstr("GEEK", "GFG"))
    fmt.Println(joinstr("Geeks", "for", "Geeks"))
    fmt.Println(joinstr("G", "E", "E", "k", "S"))
}

Output:

GEEK-GFG
Geeks-for-Geeks
G-E-E-k-S

Esempio 2, unire stringhe con funzione con parametri variabili, passaggio di una sezione alla funzione con parametri variabili:

package main 
  
import( 
    "fmt"
    "strings"
) 
  
// Funzione con parametri variabili per unire stringhe
func joinstr(element...string)string{ 
    return strings.Join(element, "-") 
} 
  
func main() { 
     
   // Passaggio di una sezione alla funzione con parametri variabili
   element:= []string{"geeks", "FOR", "geeks"} 
   fmt.Println(joinstr(element...)) 
}

Output:

geeks-FOR-geeks

Quando si utilizza una funzione con parametri variabili:

  • Quando si deve passare un'intera sezione alla funzione, utilizzare una funzione con parametri variabili.

  • Quando non si conosce il numero di parametri, si utilizza una funzione con parametri variabili.

  • Quando si utilizza una funzione con parametri variabili nel programma, può aumentare la leggibilità del programma.