开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:包的快速入门】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9594
包的快速入门
内容介绍:
一、包的基本概念
二、包的三大作用
三、包的具体使用
四、包使用的快速入门案例演示
一、包的基本概念
go 的每一个文件都是属于一个包的,也就是说 go 是以包的形式来管理文件和项目目录结构的。(也就是说我们每一个文件都是一个包,如果文件不属于一个包是不可能的)
二、包的三大作用
1.区分相同名字的函数,变量等标识符(在不同的包下面可以写相同的函数名。变量名)
2.当程序文件很多时,可以很好的管理项目(我们不可能把所有文件把所有函数都写在一个 main.go 里面去,这是不现实的,我们必须要用一种包的形式把所有文件分门别类的放好。)
3.控制函数、变量等访问范围,即作用域
三、包的具体使用
两个特别重要的指令:
1.打包指令 packange 包名
在我们写过的 packange main,这就是打了一个包
2.引入包指令 import “包的路径”
我们要去在一个文件里用另外一个包的函数或者变量,就 import,就是引入,具体来说就是我们画的图
当我们想去用这个包下面的文件的函数,就 import,选上引入的包的路径。
引进去过后,调用的时候,包名。(这时候函数要首字母大写,不然是无法调用的,这也就显示出了控制函数、变量等访问范围)
快速入门案例,这个案例就以刚才讲解的方式来完成。
四、包使用的快速入门案例演示
说明:
包快速入门-Go 相互调用函数,我们将 func Cal 定义到文件 utils.go,将 utils.go放到一个包中,当其他文件需要使用到 utils.go 的方法时,可以 import 该包,就可以使用了。【为演示,新建项目目录结构】
代码演示:
新建一个文件夹 main 包,将目录的 main.go 移到 main 包里面,在另一个文件夹建立一个 utils,在 utils 新建一个 utils.go。
//将计算的功能,放到一个函数中,然后在需要使用调用即可
//为了让其他包文件使用 Cal 函数,需要c大写类似其他语言的 Public
(假设是小写,调用那边肯定也是小写,但是执行的时候,一保存,就会提示信息connot refer to unexported name utils.cal;意思就是不可导出)
(在go语言里,把字母大写有一个专用术语叫做该函数可导出)
Func Cal(n1 float64,n2 float64,operator byte) float64{
Var res float64
Switch operator{
Case’+’:
Res=n1+n2
Case’-’:
Res=n1-n2
Case’*’:
Res=n1*n2
Case’/’:
Res=n1/n2
Derfault:
Fmt.println(“操作符错误”...)
}
Return res
}
保存后代码会显示错误,会提示函数未定义过,就好比写完了却并不引进来一样,就用不了。改完后跑一下看效果.
保留结果精度方法:手册
%.2f 默认宽度,精度2
我们就是用包的案例封装了一下。
Utils.go文件
main.go文件
Package utils
Import(
“fmt”
“go code/chapter06/func demo01/utils”
(调用的时候包名.函数名) 导入包