方法的定义和基本使用
测试文件名的定义 func_test.go 执行命令 go test -v func_test.go
package demo
import (
"fmt"
"testing"
)
func TestFun(t *testing.T) {
m, n := 1, 10
var val = sumFn(m, n)
fmt.Println(val) //11
val = subFn(n, m)
fmt.Println(val) //9
val = sumFn1(213, 434, 5, 12, 143, 34)
fmt.Println(val) //841
val = sumFn2(12, 434, 5, 12, 143, 34)
fmt.Println(val) //640
var _sum, _sub = calc(14, 20)
fmt.Println(_sum, _sub) // 34 -6
}
//求二个数的和
func sumFn(m int, n int) int {
return m + n
}
//求二个数的差(方法参数的简写)
func subFn(x, y int) int {
sub := x - y
return sub
}
//可变参数通过...来实现
func sumFn1(x ...int) int {
fmt.Printf("%v--%T\n", x, x) // [213 434 5 12 143 34]--[]int
var sumVal = 0
for _, num := range x {
sumVal = sumVal + num
}
return sumVal
}
func sumFn2(x int, y ...int) int {
var sumVal = x
for _, num := range y {
sumVal = sumVal + num
}
return sumVal
}
//返回二个参数
func calc(x, y int) (int, int) {
sum := x + y
sub := x - y
return sum, sub
}
//返回值命名法
func calc1(x, y int) (sum int, sub int) {
sum = x + y
sub = x - y
return
}
//参数简写
func calc2(x, y int) (sum, sub int) {
sum = x + y
sub = x - y
return
}