首页 > 后端开发 > Golang > 正文

如何在 Go 中创建包

Patricia Arquette
发布: 2024-10-05 12:07:02
原创
605 人浏览过

出于可重用的目的,包是管理 Go 代码的良好开端,因为我们可以将其导入并使用到我们的程序中。

让我们首先创建一个简单的主文件


package main

import "fmt"

func main() {
   fmt.Println("hello world!")
}


登录后复制

这是一个简单的 hello world 程序,当我们运行 go run main.go 时,它会打印出 hello world 字符串。

现在让我们首先创建模块来启动一个包。通常它使用 git 存储库,即使我们没有计划将其推送到任何存储库。在此示例中,我将使用我自己的 Github 存储库并使用 mygopackage 作为包名称。


git mod init github.com/didikz/mygopackage


登录后复制

然后创建一个子目录,例如我使用 models 并在其中创建一个 user.go 。结构应该是这样的

How To Create Package in Go

在 user.go 内部,我将简单地创建一个结构体和一个接收器,稍后可以将其导入到 main.go 中。我还将当前目录名称后面的包名称设置为 models


package models

type User struct {
    Id        int
    FirstName string
    LastName  string
    Address   string
}

func (user *User) GetName() string {
    return user.FirstName + " " + user.LastName
}


登录后复制

回到main.go,现在我们可以尝试导入包并使用定义的结构。使用之前启动的模块名称和包名称。


import "github.com/didikz/mygopackage/models"


登录后复制

现在要使用包中的用户模型,我们可以这样写


var user models.User
user.Id = 1
user.FirstName = "Didik"
user.LastName = "Tri Susanto"
user.Address = "Malang"

// or alternatively
user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"}

fmt.Println(user.GetName())


登录后复制

一切就绪。接下来,如果我们运行 go run main.go 那么它应该打印出 Didik Tri Susanto

简单吧?

最终的 main.go 文件现在应该是这样的


package main

import (
    "fmt"

    "github.com/didikz/mygopackage/models"
)

func main() {
    user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"}
    fmt.Println(user.GetName())
}


登录后复制

就是这样,祝您编码愉快!

以上是如何在 Go 中创建包的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!