方法课堂练习题(1)|学习笔记

简介: 快速学习方法课堂练习题(1)

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:方法课堂练习题(1)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9680


方法课堂练习题(1)

 

内容介绍:

一、习题1

二、习题2

三、习题3

 

一、习题1

编写结构体 (MethodUtils),编程一个方法,方法不需要参数,在方法中打印一个10*8的矩形,在 main 方法中调用该方法。

在 Exercise 文件夹中新建一个文件 methodexercise02,并创建 main.go。输入共用代码:

package main

import (

"fmt""

)

Func main(){

}

输入 type MethodUtils struct,创建 MethodUtils 结构体,该结构体有方法但是没有字段,这也是可以的。给 MethodUtils 编写方法,方法的名字题目中没有要求,但是题目要求方法不需要参数,在方法中打印10*8的一个矩形,并在 main 方法中完成调用,由于没有参数,有没有返回值,即只需要完成打印的任务,此题比较容易完成。首先输入 func (mu MethodUtils) Print() {} 完成与 MethodUtils 的绑定,然后进行两次 for 循环,for i:=1;i<=10;i+t {for j:1;j<=8;j++{,然后输出,fmt.Print(""*")},输入 fmt.Println(),完成换行。在 main 函数中完成调用,首先要有一个 MethodUtils 变量,输入 var mu MethodUti1s,再输入 mu.Print()进行调用测试,cd 到 methodexcercise02,然后 run main.go,可以看到打印出一个10*8的矩形。

核心代码:

package main

import(

"fmt"

)

type MethodUtils struct {

}

func (mu MethodUti1s) Print(){

for i =1;i<= 10; i++ {

for j :=1;j<=8;j++{

fmt.Print("*")

}

fmt.Print1n()

}

}

func main(){

var mu MethodUti1s

mu.Print()

fmt.Println()

}

 

二、习题2

编写一个方法,提供m和n两个参数,方法中打印一个m*n的矩形

本题练习接收两个参数。参数m和n分别代表行和列,而行和列肯定是整数,故 m、n均为 int 型。其实此题我们只需要在习题1的前提下稍加改动即可。将习题1中 for i =1;i<= 10; i++ {for j :=1;j<=8;j++{ 分别改成 for i =1;i<= m; i++ { for j :=1;j<=n;j++{,调用时还是要创建 MethodUti1s 结构体变量,输入 var mu MethodUti1 mu.Print()fmt.Println(2,6),传入2,6打印出二行六列的矩形.为了加以区分,可以输入 fmt.println() 进行换行。

核心代码:

package main

import(

"fmt"

)

type MethodUtils struct {

}

func (mu MethodUti1s) Print2(){

for i =1;i<= m; i++ {

for j :=1;j<=n;j++{

fmt.Print("*")

}

fmt.Print1n()

}

}

func main(){

var mu MethodUti1s

fmt.println()

mu.Print2(2,6)

}

 

三、习题3

编写一个方法并计算该矩形的面积(可以接收长 len 和宽 width),将其作为方法返回值。在 main 方法中调用该方法,接快返回的面积值并打印。

此题在前两题的基础上增加了返回值,需要得到面积。输入 func (mu Methodutils)area(len float64, width float64)(float64){ 完成绑定,即先将结构体的类型拷贝过来,长度、宽度可能是小数,所以最好是 float64,返回类型肯定也是float64,如果是返回值只有一个,括号可加可不加。面积的输出也非常简单,即return len*width,输入:

areaRes := mu. area(2.5,8.7)fmt.Print1n(“面积为=” areaRes)

完成调用,结果为21.75,与理论结果一致。

核心代码:

func (mu Methodutils)area(len float64, width float64)(float64){

return len*width

}

areaRes := mu. area(2.5,8.7)fmt.Print1n(“面积为=”, areaRes)

相关文章
|
5月前
|
Java 索引
杨老师课堂_Java教程第四篇之数组运用
杨老师课堂_Java教程第四篇之数组运用
39 0
|
5月前
|
Java 编译器 开发工具
杨校老师课堂之Java面向对象知识点整理集锦1
杨校老师课堂之Java面向对象知识点整理集锦
23 0
|
5月前
|
机器学习/深度学习 Java API
杨校老师课堂之Java面向对象知识点整理集锦3
杨校老师课堂之Java面向对象知识点整理集锦
22 0
|
5月前
|
Java API 数据安全/隐私保护
杨校老师课堂之Java面向对象知识点整理集锦2
杨校老师课堂之Java面向对象知识点整理集锦
41 0
|
5月前
|
Java
杨老师课堂_Java教程第二篇之变量及运算符
杨老师课堂_Java教程第二篇之变量及运算符
17 0
|
JSON 开发工具 git
第一节课堂笔记|青训营笔记(二)
第一节课堂笔记|青训营笔记
第一节课堂笔记|青训营笔记(二)
|
XML 安全 Java
第一节课堂笔记|青训营笔记(一)
第一节课堂笔记|青训营笔记
第一节课堂笔记|青训营笔记(一)
|
Cloud Native 安全 架构师
课后总结|学习笔记
快速学习课后总结
课后总结|学习笔记
|
网络协议 测试技术 Go
方法课堂练习题(2)|学习笔记
快速学习方法课堂练习题(2)
方法课堂练习题(2)|学习笔记
|
Cloud Native 架构师 Devops
课后总结 | 学习笔记
快速学习课后总结
课后总结 | 学习笔记