包的快速入门|学习笔记

简介: 快速学习包的快速入门

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:包的快速入门与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/625/detail/9594


包的快速入门

内容介绍:

一、包的基本概念

二、包的三大作用

三、包的具体使用

四、包使用的快速入门案例演示

一、包的基本概念

go 的每一个文件都是属于一个包的,也就是说 go 是以包的形式来管理文件和项目目录结构的。(也就是说我们每一个文件都是一个包,如果文件不属于一个包是不可能的)


二、包的三大作用

1.区分相同名字的函数,变量等标识符(在不同的包下面可以写相同的函数名。变量名)

2.当程序文件很多时,可以很好的管理项目(我们不可能把所有文件把所有函数都写在一个 main.go 里面去,这是不现实的,我们必须要用一种包的形式把所有文件分门别类的放好。)

3.控制函数、变量等访问范围,即作用域

image.png

三、包的具体使用

两个特别重要的指令:

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

image.jpeg

//将计算的功能,放到一个函数中,然后在需要使用调用即可

//为了让其他包文件使用 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”

(调用的时候包名.函数名) 导入包

相关文章
|
11月前
|
缓存 前端开发 Linux
Composer 快速入门教程
Composer 是 PHP 是 PHP5.3 以上的一个依赖管理工具,你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会安装这些依赖的库文件
1049 0
|
Web App开发 人工智能 数据可视化
RPA 快速入门|学习笔记
快速学习 RPA 快速入门
816 0
RPA 快速入门|学习笔记
|
Kubernetes Linux API
[没接触过kubevirt?]15分钟快速入门kubevirt
什么是kubevirt? kubevirt是一个容器方式运行虚拟机的项目。`kubevirt`是附加`kubernetes`集群上的,它是通过 `CustomResourceDefinition(CRD)`部署到`Kubernetes API`变成资源对象。使用方式类似创建`deploy、pod`......这些资源清单。
4288 0
[没接触过kubevirt?]15分钟快速入门kubevirt
|
5月前
|
存储 Python
PythonOOP快速入门
PythonOOP快速入门
|
6月前
|
存储 算法 程序员
C++基础快速入门
C++基础快速入门
108 0
C++基础快速入门
|
Linux Windows
QMQTT快速入门
环境搭建 • 准备一台linux设备和一台windows设备虚拟机也是可以的; • 安装mosquitto ; • 准备QMQTT环境 - windows下;
168 0
|
SQL 负载均衡 NoSQL
DawnSql快速入门
DawnSql开源分布式数据库,快速入门
DawnSql快速入门
|
SQL 分布式计算 关系型数据库
MLSQL(Byzer)的快速入门
MLSQL(Byzer)的快速入门
MLSQL(Byzer)的快速入门
|
安全 数据库 数据格式
EndnoteX9简介及基本教程使用说明
EndnoteX9简介及基本教程使用说明
465 0
EndnoteX9简介及基本教程使用说明
|
安全 编译器 C语言
【C++】—— 快速入门(2)
【C++】—— 快速入门(2)
102 0
【C++】—— 快速入门(2)

相关实验场景

更多
下一篇
无影云桌面