1. 程式人生 > >golang語言學第五課:函式

golang語言學第五課:函式

定義函式:

func 函式名(引數1....引數n ) 返回值  {

函式體

}

需要注意的是,go語言的函式,可以有多個返回值,並且返回值可以取名字。不限於2個返回值,可以3個,4個或更多返回值。

另外,go語言支援可變引數列表,但是用的時候就當切片來用。

go語言的函式可以沒有返回值,沒有返回值時,不要寫任何返回型別即可。

package main

import "fmt"

func eval(a,b int, op string) int { //單個返回值
switch op {
case "+":
return a+b
case "-":
return a-b
case "*":
return a*b
case "/":
return a/b
default:
panic("unsuppported operation: "+ op)

}
}

func div(a,b int) (q,r int){ //2個返回值,並且給返回值取名字
return a/b, a%b
}

func multreturnvalue (a, b, c, d, e, f int) (int, int, int, int, int, int) { //超多返回值
return a+1,b+1, c+1, d+1, e+1, f+1
}
func sum(numbers ...int) int { //可變引數列表, 用起來就當切片來用
s:=0
for i:= range numbers {
s+=numbers[i]
}
return s
}
func main() {
fmt.Println(eval(3,4, "*"))
q,r :=div(13,3)
fmt.Println(q, r)
fmt.Println(sum(1,2,3,4,5))
fmt.Println(multreturnvalue(1,2,3,4,5,6))

}