Golang 如何實現函式的任意型別傳參

2022-09-21 10:36:07 字數 1047 閱讀 2025

package main

import (

"fmt")

func init()

func main()

// 實現傳單個任何型別的引數

func test1(v inte***ce{})

// 實現傳任意多個任意型別的引數

func test2(v ...inte***ce{})

}補www.cppcns.com充:golang 函式作為引數傳遞(**)的例子

和其他很多語言一樣,golang中函式也可以作為其它函式的引數進行傳遞,然後在其它函式內呼叫執行,一般稱之為**。

以函式簽名作為主調函式的形參的型別,即傳遞乙個指向函式的指標

func main()

func addperfix(perfix, name string)

func sayhello(name string, f func(string, string))

補充:golang函式形參接收任意型別的切片

在某些情況下乙個函式可能既需要接收string型別的切片也可能接收int型別的切片,或接收自定義型別的切片。

我首先想到的辦法是建立乙個inte***ce{}型別的切片

func demo(s inte***ce{})

}func test(t *testing.t)

demo(s)

}但不幸的是,我得到了

cannot use s (type int) as type inte***ce {} in argument to demo 這個錯誤。

原因是inte***ce{}型別的變數可以指向任意型別的值,但inte***ce{}型別的指標只能指向inte***ce{}型別的值而不能指向任意型別的切片。

func demo(s inte***ce{}) }}

func test(t *testing.t)

demo(s1)

s2 := string

demo(s2)

}本文標題: golang 如何實現函式的任意型別傳參

本文位址:

golang函式形參接收任意型別的切片

在某些情況下乙個函式可能既需要接收string型別的切片也可能接收int型別的切片,或接收自定義型別的切片。我首先想到的辦法是建立乙個inte ce 型別的切片,如下所示 func demo s inte ce func test t testing.t demo s 但不幸的是,我得到了 cann...

golang生成隨機函式的實現

golang生成隨機數可以使用math rand包,示例如下 package main import fmt math rand func main 而發現這種情況,每次執行的結果一樣.修改如下 package main import fmt time math rand func main 而這種...

Leecode Pow x, n 實現任意次方函式

pow x,n implement pow x,n 實現任意次方函式,注意 1 n可以為正和負 2 x可以為正和負 下面使用二分法求解,不過因為兩個的子解是一樣的,所以可以只求一邊解就可以了,這就是最典型的減治法了。下面給出二分,三分,五分的求解程式 double pow double x,int ...