// 方法练习package mainimport "fmt"type Test struct {}// 编写 Test 的方法func (t Test) print() { for i := 0; i < 10; i++ { for i := 0; i < 8; i++ { fmt.Printf("*") } fmt.Println() }}// 方法接收参数func (t Test) print2(m int, n int) { for i := 0; i < m; i++ { for i := 0; i < n; i++ { fmt.Printf("*") } fmt.Println() }}// 方法接收参数,并返回值func (t Test) print3(m float64, n float64) float64 { return m * n}// 指针接收者 方法里判断奇数偶数func (t *Test) JudgeNum(n int) { if n%2 == 0 { fmt.Printf("%v是偶数 \n", n) } else { fmt.Printf("%v是奇数 \n", n) }}// 方法接收参数,并打印指定字符func (t Test) print4(m int, n int, sign string) { for i := 0; i < m; i++ { for i := 0; i < n; i++ { fmt.Print(sign) } fmt.Println() }}// 实现一个四则运算的方法type Calc struct { Num1 float64 Num2 float64}func (calc *Calc) CalcMethod(opt string) float64 { var res float64 switch opt { case "+": res = calc.Num1 + calc.Num2 case "-": res = calc.Num1 - calc.Num2 case "*": res = calc.Num1 * calc.Num2 case "/": res = calc.Num1 / calc.Num2 default: fmt.Println("运算符输入有误") } return res}func main() { fmt.Println("hello") var t Test t.print() // 方法传值 var t2 Test t2.print2(2, 5) // 方法传值并返回 var t3 Test multiply := t3.print3(2.2, 5.5) fmt.Println("multiply = ", multiply) // 实现方法判断奇数还是偶数 var t4 Test t4.JudgeNum(4) (&t4).JudgeNum(5) // 打印指定字符 var t5 Test t5.print4(3, 6, "$") // 四则运算 var calc Calc = Calc{ Num1: 10, Num2: 2, } res := calc.CalcMethod("/") fmt.Println("res = ", res)}