函数
函数可以很好的实现代码的重用,go语言的函数实现和调用如下。
package main
import "fmt"
func gogogo() {
fmt.Println("run")
}
func main() {
for i := 1; i <= 10; i++ {
gogogo()
}
}
在main函数中调用上方的gogogo()函数,这样就会打印10次run。
传参
func gogogo(a int,b int) {
fmt.Printf("a=%d b=%d\n",a,b)
}
func main() {
for i := 1; i <= 10; i++ {
gogogo(1,2)
}
}
在gogogo函数中等待传入的参数是形式参数,也就是我们在main函数中传入的实际参数会通过这个形式参数在 gogogo 函数中进行表达。
不需要var 直接写上变量名字,然后后面跟上变量的类型就可以了。
不定长参数
在一般情况下我们定义形式参数的时候,就比如 a int,如此。但是如果我们需要传入的参数不确定呢?这时候就会用到我们的不定长参数。
func test(args...int) {
fmt.Print(len(args))
}
如此,在调用test函数的时候,可以传入任何数量的参数,并且可以通过下表来访问这个集合,但前提是不要越界。
func test(args...int) {
test1(args[1:2]...)
}
func test1(ar...int) {
fmt.Print(ar)
}
func main() {
test(1,2,3,4,5)
}
这个是函数模块与函数模块之间的值传递,在test中呢,传参方法是函数切片后面跟上…即可。
然后这两个数相当于一个左开右闭的区间,所以就取下标为1的2。
函数的返回值
func test(a,b int) int{
return 1+1
}
func main() {
fmt.Print(test(1,2))
}
在函数声明的时候,在函数名后面加上一个int或者其他类型的参数声明,这里就是函数返回值的应用,返回的值用return来表示,结果打印出2。
第二种方法:
func test(a,b int) (sum int){
sum = a+b
return
}
func main() {
fmt.Print(test(1,2))
}
在定义返回值类型的时候直接定义返回值的函数名,这里定义了sum 所以返回值默认返回sum,就不需要再return sum了,当然这里可以直接声明多个变量。
更新ing…