golang 学习(十七)方法的定义和基本使用

121 阅读1分钟

方法的定义和基本使用

测试文件名的定义 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
}