持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第38天,点击查看活动详情
一、习题一
编写结构体(MethodUtils),编写一个方法,方法不需要参数,在方法中打印一10*8的矩形,在main方法 中调用该方法。
package main
import "fmt"
/*编写结构体(MethodUtils),编写一个方法,方法不需要参数,
在方法中打印一10*8的矩形,在main方法 中调用该方法。
*/
type MethodUtils struct {
}
func (stars MethodUtils) Print() {
for i := 0; i < 10; i++ {
fmt.Println("********")
}
}
func main() {
stars := MethodUtils{}
stars.Print()
}
二、习题二
编写一个方法,提供m和n两个参数,方法中打印一个m*n的矩形
package main
import "fmt"
/*编写一个方法,提供m和n两个参数,方法中打印一个m*n的矩形
*/
type MethodUtils struct {
}
func (stars MethodUtils) Print(m int, n int) {
for i := 1; i <= m; i++ {
for j := 1; j <= n; j++ {
fmt.Print("*")
}
fmt.Println()
}
}
func main() {
stars := MethodUtils{}
stars.Print(5, 15)
}
三、习题三
编写一个方法算该矩形的面积(可以接收长len,和宽width), 将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。
package main
import "fmt"
/*编写一个方法算该矩形的面积(可以接收长len,和宽width),
将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。
*/
type MethodUtils struct {
}
func (stars MethodUtils) area(len float64, width float64) float64 {
return len * width
}
func main() {
stars := MethodUtils{}
// 矩形面积 = 200
fmt.Println("矩形面积 = ", stars.area(10, 20))
}
四、习题四
编写方法:判断一个数是奇数还是偶数
package main
import "fmt"
/*编写方法:判断一个数是奇数还是偶数
*/
type MethodUtils struct {
}
func (nums *MethodUtils) judge(n int) {
if n%2 == 1 {
fmt.Printf("%v 是 奇数", n)
} else {
fmt.Printf("%v 是 偶数", n)
}
}
func main() {
nums := MethodUtils{}
// 6 是 偶数
nums.judge(6)
}
五、习题五
根据行、列、字符打印对应行数和列数的字符,比如:行: 3,列: 2,字符,则打印相应的效果
package main
import "fmt"
/*根据行、列、字符打印对应行数和列数的字符,比如:行: 3,列: 2,字符,则打印相应的效果
*/
type MethodUtils struct {
}
func (str MethodUtils) Print(x int, y int, words string) {
for i := 1; i < x; i++ {
for j := 1; j < y; j++ {
fmt.Print(words)
}
fmt.Println()
}
}
func main() {
str := MethodUtils{}
// 矩形面积 = 200
str.Print(10, 20, "*")
}
六、习题六
定义小小计算器结构体(Calcuator),实现加减乘除四个功能
- 实现形式1:分四个方法完成:
- 实现形式2:用一个方法搞定
package main
import "fmt"
/*编写一个方法算该矩形的面积(可以接收长len,和宽width),
将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。
*/
type Calcuator struct {
Num1 float64
Num2 float64
}
func (calc *Calcuator) Add() float64 {
return calc.Num1 + calc.Num2
}
func (calc *Calcuator) Sub() float64 {
return calc.Num1 - calc.Num2
}
func (calc *Calcuator) Mul() float64 {
return calc.Num1 * calc.Num2
}
func (calc *Calcuator) Div() float64 {
return calc.Num1 / calc.Num2
}
// 一个方法
func (calc *Calcuator) Calc(operator byte) float64 {
res := 0.0
switch operator {
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() {
calc := Calcuator{}
calc.Num1 = 10.0
calc.Num2 = 20.0
// 调用一个方法实现
fmt.Printf("一个方法实现 ===> %v", calc.Calc('/'))
}