Go 语言程序在模块内创建类


本文将编写一个 Go 语言程序,在模块内创建类。该程序不使用类,只使用结构体来存储数据字段。

模块是包含 go.mod 文件的包的集合,该文件位于模块的根目录,并确定模块的目录。

使用子结构体

在此方法中,我们将编写一个 Go 语言程序,使用子结构体在模块内创建类。我们将创建一个名为 createstruct 的函数,该函数将从另一个模块调用以打印子信息。

算法

  • 步骤 1 − 在程序中导入 mymodule 和 fmt 包以执行程序

  • 步骤 2 − 创建一个名为 Child 的结构体,其中包含 Name(字符串类型)和 Age(整数类型)字段

  • 步骤 3 − 创建一个名为 createstruct 的函数,并在该函数中添加打印语句

  • 步骤 4 − 然后,使用 import 语句在另一个模块中导入此模块

  • 步骤 5 − 将孩子的姓名和年龄传递给 Child 结构体的构造函数

  • 步骤 6 − 从另一个模块调用该函数,并将该模块中的语句打印出来

  • 步骤 7 − 使用 fmt 包中的 Println 函数执行打印语句

示例

以下示例演示了使用子结构体在模块内创建类的 Go 语言程序。

package mymodule

import "fmt"
type Child struct {
   Name string
   Age  int
}

func (c *Child) createstruct() {
   fmt.Printf("Hello, my name is %s and I'm %d years old\n", c.Name, c.Age)
}
import "mymodule"  

func main() {
   c := mymodule.Child{Name: "Rahul", Age: 10}  
   c.createstruct()  
}

输出

Hello, my name is Rahul and I’m 10 years old

使用矩形结构体

在本例中,我们将编写一个 Go 语言程序,使用 Rectangle 结构体在模块内创建类。我们将调用 area 函数,该函数将返回宽度和高度的乘积。

算法

  • 步骤 1 − 在程序中导入 mymodule 和 fmt 包以执行程序

  • 步骤 2 − 创建一个 Rectangle 结构体,其中包含 width 和 height 字段

  • 步骤 3 − 创建一个名为 Area 的函数,并在该函数中返回宽度和高度的乘积

  • 步骤 4 − 在另一个模块中导入此模块,并在 main 函数中将宽度和高度传递给 Rectangle 结构体的构造函数

  • 步骤 5 − 调用 Area 函数并打印矩形的面积

  • 步骤 6 − 使用 fmt 包中的 Println 函数执行打印语句

示例

以下示例是一个使用 Rectangle 结构体在模块内创建类的 Go 语言程序

package mymodule

type Rectangle struct {
   Width  float64
   Height float64
}


func (rect Rectangle) Area() float64 {
   return rect.Width * rect.Height
}
import "mymodule"  

func main() {
   rect := mymodule.Rectangle{Width: 6, Height: 4}
   fmt.Println("The area of the rectangle is:", rect.Area())
}

输出

The area of rectangle is 24

使用 Name 结构体

在此方法中,我们将编写一个 Go 语言程序,使用 name 结构体在模块内创建类。将在 module1 中创建函数,并将导入 module1 到执行 main 函数的文件。变量用作指向结构体的指针。

算法

  • 步骤 1 − 程序导入 fmt 和 main 包,其中 fmt 用于格式化输入和输出,main 用于生成可执行代码

  • 步骤 2 − 创建一个名为 demo_struct 的结构体,其中包含一个名为 Name 的字段

  • 步骤 3 − 然后,创建一个名为 Get_name 的函数,其中 demo_struct 的指针指向 s 变量

  • 步骤 4 − 在函数中,使用点表示法从 s 返回 Name

  • 步骤 5 − 在执行 main 函数的文件中导入该模块

  • 步骤 6 − 在 main 函数中设置结构体的字段值

  • 步骤 7 − 使用点表示法从 s 调用该函数

  • 步骤 8 − 使用 fmt 包中的 Println 函数在控制台上打印输出

示例

以下示例是使用 name 结构体在模块内创建类的 Go 语言程序

package main

import "fmt"

type demo_struct struct {
   Name string
}

func (s *demo_struct) Get_name() string {
   return s.Name
}
package main

import "module1"

func main() {
   s := &module1.demo_struct{Name: "Ritika"}
   name := s.Get_name()
   fmt.Println(name) 
}

输出

Ritika

结论

我们编译并执行了使用三个示例在模块内创建类的程序。在这两个示例中,我们在模块内创建了一个结构体并在另一个模块中导入了该模块,但在第一个示例中,我们使用了带子结构体的结构体,在第二个示例中,我们使用了带矩形的结构体,在第三个示例中,我们使用结构体返回了名称。

更新于: 2023年4月4日

158 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告