1package main23
import (4"
fmt"5"
reflect"6
"runtime"7
"math"8
)910//
函式11
//函式可以返回兩個值。返回多個值時可以起名字
12//
返回值型別寫在最後面
13//
函式可以作為引數
14//
沒有預設引數,可選引數
1516 func eval( a, b int , op string) ( int
, error) 30}
3132 func div( a, b int ) ( int , int
) 35
引數名寫在前,型別寫在後
37 p :=reflect.valueof(op).pointer()
38 opname :=runtime.funcforpc(p).name()
39 fmt.printf("
calling function %s with agrs
" + "
(%d,%d)
",opname,a,b)
40return
op(a , b)41}
4243 func pow( a, b int) int
4647 func sum( numbers ...int) int
52returns53
}54func main() else
60 fmt.println(eval(3, 4, "
*")) //
12 61 fmt.println(eval(3, 4, "
/")) //
0 62 fmt.println( div(13 , 3)) //
4 1calling function main.pow with agrs(3,4) 81
6465
66 func(a int, b int) int
,3,4
,70 )) //
calling function main.main.func1 with agrs(3,4) 81
7172 fmt.println(sum(1,2,3,4,5)) //
1573 }
go基礎學習(6 函式學習
函式正常寫法 簡寫命名返回值 go函式輸入可變引數 函式返回多個值 package main import fmt 函式正常寫法 func sum0 a int b int int 簡寫 func sum1 a,b int int 命名返回值 func sum2 a,b int res int go...
Go語言 函式學習篇
這裡要說一下是go函式和一些其他語言不一樣的地方 1 2 3 4 5 6 func getmsg iint rstring func說明這個是個函式 getmsg是函式名 i int 函式接收乙個int引數 r string 函式返回乙個string型別返回值 這點和c,php都不一樣,和lua是一...
Go語言函式學習教程
這裡要說一下是go函式和一些其他語言不一樣的地方 1 函式格式不同 複製 如下 func getmsg i int r string func說明這個是個函式 getmsg是函式名 i int 函式接收乙個int引數 r string 函式返回乙個string型別返回值 2 函式可以返回多個返回值 ...