显示promoted方法的Golang程序

显示promoted方法的Golang程序

在Golang中,Promoted方法是在嵌入到另一个结构体中的结构体下创建的方法,现在它被嵌入的结构体可以访问它的方法和字段。在本文中,我们将解释如何使用各种结构体(如矩形和正方形、车辆和汽车)显示promoted方法。

算法

  • 步骤1 − 在程序中创建一个main包并声明fmt(格式化包)包,其中main包产生可执行代码,fmt 帮助进行输入和输出格式化。

  • 步骤2 − 创建一个类型为float的长和宽两个字段的矩形结构体Rectangle

  • 步骤3 − 接着,创建一个名为Area()的方法用于计算矩形的面积。

  • 步骤4 − 创建一个单一字段的正方形结构体Square,该字段表示正方形的边长,并将矩形结构体嵌入其中,即Square结构体内可以访问矩形的所有的字段和方法。

  • 步骤5 − 在main函数中,使用点符号设置矩形的宽度和高度,并调用promoted的Area()方法。

  • 步骤6 − 最后,使用fmt包中的Println函数将矩形的面积打印在控制台上,其中ln表示换行符。

示例1

在本示例中,我们将创建两个结构体RectangleSquare,并将Rectangle结构体嵌入到Square结构体中,Square结构体可以通过访问Rectangle结构体来访问所有的字段和方法。

package main

import (
   "fmt"
)

type Rectangle struct {
   width, height float64  
}

func (rect Rectangle) Area() float64 {
   return rect.width * rect.height     
}

type Square struct {
   side float64     
   Rectangle
}

func main() {
   sqr := Square{side: 6}
   sqr.width = 3
   sqr.height = 4    
   fmt.Println("The area of rectangle is:")
   fmt.Println(sqr.Area()) 
}

输出

The area of rectangle is:
12

示例2

在本示例中,我们将使用结构体VehicleCar来显示promoted方法。在此,Vehicle将被嵌入到Car中,这意味着现在可以通过Car结构体访问Vehicle下的方法和字段。

package main

import (
    "fmt"
)

type Vehicle struct {
    color string
}

func (vch *Vehicle) Start() {
    fmt.Println("Starting vehicle...")
}

type Car struct {
    brand string
    *Vehicle
}  

func main() {
    cr := Car{
        brand: "Tatan Motors",
        Vehicle: &Vehicle;{
             color: "Grey",
            },
    }
    fmt.Println(cr.color) 
    cr.Start()
}

输出

Grey
Starting vehicle...

示例3

在本示例中,我们将编写一个Golang程序,使用PersonEmployee结构体展示promoted方法的用法,其中greet将被promoted,因为它可以访问Person结构体。

package main

import "fmt"

type Person struct {
    name string
    age  int
}

func (p Person) greet() {
    fmt.Println("Hello, my name is", p.name)
}

type Employee struct {
    Person
    Salary float64
}

func main() {
    emp := Employee{Person{"Kanika", 26}, 150000.00}
    emp.greet()
}

输出

Hello, my name is Kanika

结论

我们编译并执行了展示推广方法的程序,使用了三个示例。在第一个示例中,我们使用矩形和正方形的结构体来使用推广方法,在第二个示例中,我们使用了车辆和汽车的结构体,在第三个示例中我们使用了人和员工的结构体来执行该程序。因此,程序成功执行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程