Golang 在模块内创建一个类

Golang 在模块内创建一个类

在本文中,我们将编写一个 Golang 程序,在模块内创建一个类。该程序只使用结构体而不使用类,结构体将包含数据字段。

模块是一个包含 go.mod 文件的包集合,该文件确定了模块的目录。

使用子结构体

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

步骤

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

  • 第 2 步 − 创建一个子结构体,其中 Name 的类型为 string,Age 的类型为 int

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

  • 第 4 步 − 然后使用 import 语句将此模块导入其他模块

  • 第 5 步 − 在 Child 构造函数中传递子级的姓名和年龄

  • 第 6 步 − 从其他模块调用该函数,将打印那个模块中的语句

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

示例

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

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

使用矩形结构体

在这个示例中,我们将编写一个Golang程序,在模块内部使用Rectangle结构体来创建一个类。在area函数中调用将返回宽度和高度的乘积。

步骤

  • 第1步 - 在程序中导入mymodule包和fmt包以执行程序。

  • 第2步 - 创建一个带有宽度和高度的Rectangle结构体。

  • 第3步 - 创建一个Area函数,在该函数中返回宽度和高度的乘积。

  • 第4步 - 在另一个模块中导入此模块,并在主函数中将宽度和高度传递给Rectangle构造函数。

  • 第5步 - 调用Area函数并打印矩形的面积。

  • 第6步 - 使用fmt包中的Println函数执行打印语句。

示例

下面的示例是一个使用Rectangle结构体在模块内部创建类的Golang程序。

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

使用名字结构

在这个方法中,我们将编写一个Golang程序,使用名字结构在模块内创建一个类。函数将在module1中创建,module1将在执行main的地方导入。变量被用作指向结构体的指针。

步骤

  • 步骤1 - 程序导入了fmt和main包,其中fmt帮助格式化输入和输出,main帮助产生可执行代码。

  • 步骤2 - 创建一个带有一个字段Name的demo_struct。

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

  • 步骤4 - 在函数中使用dot符号与s一起返回Name。

  • 步骤5 - 在执行main的文件中导入模块。

  • 步骤6 - 在main中设置结构体的字段值。

  • 步骤7 - 使用dot符号与s一起调用函数。

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

示例

以下示例是一个使用名字结构在模块内创建类的Golang程序。

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

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程