Golang 演示类中使用this关键字
在Go编程语言中,没有类的概念,所以使用结构体来演示类中使用this关键字的用法。”this”关键字指的是当前正在程序中执行的方法或对象。
在本文中,我们将使用两个示例来展示程序的工作方式。在第一个示例中,我们将使用Child结构体调用此结构体上的方法,并打印其名称和年龄;而在第二个示例中,我们将使用Rectangle结构体通过调用此结构体上的方法来打印其面积。让我们来看一下具体的实现,以理解程序的工作原理。
步骤
- 在程序中导入fmt包,该包将帮助格式化输入和输出。
- 创建一个带有所需字段的结构体。
- 为了演示使用this关键字,创建一个没有参数的方法,并在结构体上调用该方法。
- 在main函数中设置实例的值,并调用该方法。
- 当调用该方法时,当前实例的字段将被打印到控制台上。
- 使用fmt包中的fmt.Println函数执行打印语句。
示例1
在这个示例中,我们将创建一个Child结构体,它有两个字段:Name和age。在Child结构体上创建了一个greet函数,该函数没有参数,当调用该方法时,其中的语句将被打印为输出。在这里,c.Name和c.Age将指向当前实例。让我们看看代码是如何执行的。
package main
import "fmt"
type Child struct {
Name string
Age int
}
func (c Child) greet() {
fmt.Printf("Hello, my name is %s and I'm %d years old.\n", c.Name, c.Age)
}
func main() {
c := Child{"Veronica", 16} //set the values of the instance
c.greet() //call the method
}
输出
Hello, my name is veronica and I'm 16 years old.
示例2
在这个示例中,我们以类似于上一个示例中的方式创建了结构体。这里,矩形的宽度和高度两个字段将相乘,以得到当前实例的面积。在主函数中,当调用方法Area()时,矩形的面积将被打印出来。让我们看看代码是如何执行的。
package main
import "fmt"
type Rectangle struct {
Width float64
Height float64
}
func (rect Rectangle) Area() float64 {
return rect.Width * rect.Height
}
func main() {
rect := Rectangle{6.0, 10.0}//set the values in the instance
fmt.Printf("Area of rectangle with width %.2f and height %.2f is %.2f\n", rect.Width, rect.Height, rect.Area()) //print the area of the rectangle
}
输出
Area of rectangle with width 6.00 and height 10.00 is 60.00
结论
我们执行并编译了使用两个示例展示了在类中使用this关键字的程序。在第一个示例中,使用了子结构体(child struct),而在第二个示例中使用了矩形结构体(rectangle struct)来展示this关键字的使用。在这里,通过调用结构体上的方法并打印字段值来演示。