一、函数
package main
import "fmt"
//这里是一个函数,接受两个int并且以int返回它们的和
func plus(a int,b int ) int{
//Go需要明确的返回值,例如他不会自动返回最后一个表达式的值
return a+b
}
func main(){
res := plus(1,2)
fmt.Println(res)
}
二、多返回值
package main
import "fmt"
//(int,int)代表这个函数返回两个int
func vals()(int,int) {
return 3,7
}
func main() {
//通过多赋值来操作这两个不同的返回值
a,b := vals()
fmt.Println(a)
fmt.Println(b)
//如果只返回其中一个值,可以使用空白符_
_,c := vals()
fmt.Println(c)
}
三、变参函数
package main
import "fmt"
//这个函数使用任意数目的int作为参数
func sum(nums ...int){
fmt.Println(nums,"")
total := 0
for _, num := range nums{
total += num
}
fmt.Println(total)
}
func main() {
//变参函数使用常规的调用方式,除了参数比较特殊
sum(1,2)
sum(1,2,3)
//如果你的slic已经有了多个值,想把它们作为参数使用,要这样调用func(slic...)
nums := []int{1,2,3}
sum(nums...)
}