go 使用自己写的包 - Go语言中文社区

go 使用自己写的包


参考《go语言编程入门与实战技巧》

操作系统:WIN10,IDE:goland

1.编写自己的包

(1)在$GOPATH/src路径下新建文件夹

这里我创建了一个名为mypkg的文件夹。

(2)在新建的文件夹下新建一个go文件

这里我创建了一个test.go文件。

(3)在goland中编写包

展开external libraries,在GOPATH的src下找到刚刚新建的文件并打开。

在文件中添加函数,这里添加了判断是否为奇数和是否为偶数的两个函数。

package even

func Even(i int) bool {
	return i % 2 == 0
}

func odd(i int) bool {
	return i % 2 == 1
}

2.使用自己的包

package main

import (
	"fmt"
	"mypkg"
)

func main() {
	i := 5
	fmt.Printf("Is %d even? %vn", i, even.Even(i))
}

注意:这里使用了even包里的Even函数,如果使用odd函数会报以下错误:

这是因为odd是一个私有函数,在go语言中,并没有使用public和private这样的关键字来控制可见性,而是通过首字母大小写来控制的(包括函数和变量),大写表示可以被其他包访问,小写则不可以。

3.总结

上面的尝试中,我新建的路径名为mypkg,新建的go文件名为test.go,而实际的包名为even,关于这三个命名我分析如下。

首先,文件夹名是包的路径,也就是其他包调用时要import的,也就是说,其他包调用时需要import “文件夹”。

而文件名则是没有限制的,通常根据文件内容来起,事实上,一个文件夹下通常有多个go文件,这些文件的名称并无限制,但是同一路径下的go文件中“package 包名”这一行携带的包名一定要一样,否则会报错。

包名就是实际的go文件中“package 包名”中的包名,这是实际使用时需要的,也就是说,用法应该是这样:

import "文件夹名"

包名.函数名()

一般情况下,文件夹名和包名会起成一样的,go自带的包基本都是这样。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u013536232/article/details/102950012
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-15 20:51:47
  • 阅读 ( 940 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢