Go引入包

和大多数编程语言一样,Go语言也存在包的概念,在go中使用package关键字定义一个包。


引入包的方式

1.每个包依次单个引入的方式

import"fmt"

import"os"

2.一次全部引入方式:

import(

"fmt"

"os"

)

上面引入都是系统自带的包,那么我们该如何引入自定义的包和函数呢?

我们自定义的包得放到我们的gopath下的src目录里。

查看gopath命令:goenv

Go引入包_第1张图片

如果我们不把我们定义的包放在gopath下的src目录下那么当我们运行程序时系统会提示无法找到包

Go引入包_第2张图片

abc.go文件里的内容

Go引入包_第3张图片

接下来演示一个引入一个自定义的包(包的功能是提供两个数的加减乘除功能)并让其可用

首先在gopathsrc目录下新建一个cal此时该包还是空包不提供任何功能

Go引入包_第4张图片

然后我们在里面写一些方法,提供加减乘除的功能

新建一个add.go,写一个加法函数。文件名不需要和报名保持一致,文件名可以随意指定

Go引入包_第5张图片

以此类推写好其它函数

Go引入包_第6张图片

go程序的入口是main包的main函数这是每个项目比不可少的

新建一个index.go文件

Go引入包_第7张图片

可以看到成功引入并使用了自定义的cal

包内可以包含包。例如我在cal包下新建了一个test包,提供一个求整数绝对值的方法。

Go引入包_第8张图片

使用方法和上面引入cal一样

Go引入包_第9张图片

Go语言还支持导入一个在线的包假如我们想导入的第三方包在github我们可以不用下载下来后导入直接通过import"url"方式就行了

Go引入包_第10张图片

在线导入包模块原理:Go编译器会自动先把url里面的包文件下载到本地你设置的GOPATH目录里面,目录格式就是URL的目录路径

 

Go当函数的首字母大写的时候函数会被从包中导出(在包外部可见或者说公有的),当函数的首字母是是小写的时候,函数不会被从包中导出(在包外部不可见,在包内可见,或者说是私有的),所以可以看到我之前定义了几个加减乘除的函数名首字母都是大写的

概括来说:

       公有函数的名字以大写字母开头;

       私有函数的名字以小写字母开头.

这个规则同样适用于定义在包中的其他名字(新类型、全局变量)。注意,“大写”的 含义并不仅限于US ASCII,它被扩展到了整个Unicode范围。所以大写的希腊语、古埃及语都是可以的。


我们还可以给包取别名,如下图,我们给包cal去了别名Math

Go引入包_第11张图片
下面列举一些常用的包:

Go引入包_第12张图片

Go引入包_第13张图片

Go引入包_第14张图片

你可能感兴趣的:(Golang)