专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

Go语言自定义包

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/17 15:18:51       共计:3620 浏览
包是Go语言中代码组成和代码编译的主要方式。关于包的基本信息我们已经在前面介绍过了,本节我们主要来介绍一下如何自定义一个包并使用它。

到目前为止,我们所使用的例子都是以一个包的形式存在的,比如 main 包。在Go语言里,允许我们将同一个包的代码分隔成多个独立的源码文件来单独保存,只需要将这些文件放在同一个目录下即可。

我们创建的自定义的包需要将其放在 GOPATH 的 src 目录下(也可以是 src 目录下的某个子目录),而且两个不同的包不能放在同一目录下,这样会引起编译错误。

一个包中可以有任意多个文件,文件的名字也没有任何规定(但后缀必须是 .go),这里我们假设包名就是 .go 的文件名(如果一个包有多个 .go 文件,则其中会有一个 .go 文件的文件名和包名相同)。

下面通过示例来演示一下如何创建一个名为 demo 的自定义包,并在 main 包中使用自定义包 demo 中的方法。

首先,在 GOPATH 下的 src 目录中新建一个 demo 文件夹 ,并在 demo 文件夹下创建 demo.go 文件,如下所示:


图:demo 文件夹
demo.go 文件的代码如下所示:
package demo

import (
    "fmt"
)

func PrintStr() {
    fmt.Println("C语言中文网")
}
然后,在 GOPATH 下的 src 目录中新建一个 main 文件夹,并在 main 文件夹下创建 mian.go 文件,如下所示:


图:main 文件夹
main.go 文件的代码如下所示:
package main

import (
    "demo"
)

func main() {
    demo.PrintStr()
}
运行结果如下所示:

go run main.go
C语言中文网

对引用自定义包需要注意以下几点:
  • 如果项目的目录不在 GOPATH 环境变量中,则需要把项目移到 GOPATH 所在的目录中,或者将项目所在的目录设置到 GOPATH 环境变量中,否则无法完成编译;
  • 使用 import 语句导入包时,使用的是包所属文件夹的名称;
  • 包中的函数名第一个字母要大写,否则无法在外部调用;
  • 自定义包的包名不必与其所在文件夹的名称保持一致,但为了便于维护,建议保持一致;
  • 调用自定义包时使用 包名 . 函数名 的方式,如上例:demo.PrintStr()。
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:Go语言正则表达式:regexp包 | ·下一条:Go语言strconv包:字符串和数值类型的相互转换

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有