包使用注意事项和细节(1)|学习笔记

简介: 快速学习包使用注意事项和细节(1)

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:包使用注意事项和细节(1)与课程紧密联系,让用户快速学习知识

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


包使用注意事项和细节(1)

1.在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。  

2.通常保持一致,意味着也不一定一样。例如

image.png文件夹名字为 utils,但是包名可以写为 abc,包名和文件夹名一般相同。 保存没有问题,但是在 main.go中运行” go_code/chapter06/fundemo01/utils”或者” result :=utils.Cal(n1, n2, operator)”代码时存在包名仍为 utils,运行结果报错,显示underfined: utils,并且提示包名应该为 abc。  所以将 result :=utils.Cal 中的 utils 改为 abc,为包名, 而 go_code/chapter06/fundemo01/utils 中的 utils 其实是引到包所在的文件夹。之后运行结果正确。 但是考虑到运行 abc 不常见,所以一般还是与包名保持一致,习惯上还是保持一致。  

3.当一个文件要使用其它包函数或变量时,需要先引入对应的包相当于go_code/chapter06/fundemo01/utils,需要现在 main 中引入

1)引入方式1: import "包名"

2)引入方式2: import ( "包名” "包名" ) 例如将 import (     “fmt”    

“go_code/chapter06/fundemo01/utils” )

改为 import (     “fmt”    ) import “go_code/chapter06/fundemo01/utils”

但是习惯上放在一起写  

3)package 指令在文件第一行,然后是 import 指令。

4)在 import 包时,路径从$GOPATH 的 src 下开始,不用带 src ,编译器会自动从 src 下开始引入 GOPATH 之前在环境变量中配置过,打开计算机高级系统设置,其中在系统变量中定义了 gopath,如图,该 GOPATH 在D盘下image.png实际上是从该路径下的 src 开始去定位  

5)为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它 语言的 public ,这样才能跨包访问。比如 utils.go 的 Cal 函数 image.png如图若 Cal 写为小写 cal,则其他包不能访问 另外,若定义了一个变量需要其他包使用,例如 util 包定义了一个变量,输入 var num1 int = 300 需要在 main 包中使用该变量,则要将 num 写为大写 Num,然后在 main.go中输入 fmt.Println( “utils.go Num”, utils.Num1) 运行后可以访问  

6)在访问其它包函数,变量时,其语法是包名.函数名,比如这里的 main.go 文件中  

7)如果包名较长,Go支持给包取别名,注意细节,取别名后,原来的包名就不能使用了,比如在 main.go中 “go_code/chapter06/fundemo01/utils” 引入了包所在的文件夹,fmt.Println( “utils.go Num”, utils.Num1)就是通过 utils 进行访问,也可以给该文件夹对应的包取个别名  输入 util “go_code/chapter06/fundemo01/utils”,给这个包取别名为 util,那么下面的函数要通过该别名进行访问,不能再使用原来的 utils,例如修改 fmt.Println( “utils.go Num”, util.Num1) 为了增加效果,在 number 后添加一个~,即 utils.go Num~  运行结果为 utils.go Num~=300 result~=3.5 result~=30.15 所以看到在引入的路径前写有一个变量,就相当于给该文件夹所在的包起了一个别名。

说明: 如果给包取了别名,则需要使用别名来访问该包的函数和变量。

相关文章
|
5月前
|
Java
Java基础语法注意事项
Java基础语法注意事项
24 1
|
6月前
|
数据可视化 测试技术 API
阅读源码有哪些好方式与好步骤
阅读源码是理解软件工作原理的关键。首先,了解背景、目的和技术栈。从文件头部的文档注释开始,逐步深入到复杂代码。利用Git、调试器和分析工具辅助理解。保持批判性思维,质疑代码设计并验证理解。拆分代码块,画图展示结构,使用版本控制追踪变更。搜索、阅读文档、API和单元测试以深化理解。参与讨论,做笔记,回顾历史版本,了解上下文,并通过实践加强领悟。每个人的方法可能不同,关键是持续学习和适应。
58 1
|
5月前
|
JavaScript Java 索引
Java基础语法注意事项(2)
Java基础语法注意事项(2)
26 0
Axure快速入门(05) - Master母版减少重复操作
Axure快速入门(05) - Master母版减少重复操作
48 0
|
编译器 Scala 开发者
函数使用注意事项和细节2|学习笔记
快速学习函数使用注意事项和细节2。
|
Scala 开发者
包对象注意事项和细节说明|学习笔记
快速学习包对象注意事项和细节说明。
包对象注意事项和细节说明|学习笔记
|
Java 程序员 Scala
包的使用细节和注意事项1|学习笔记
快速学习包的使用细节和注意事项1。
包的使用细节和注意事项1|学习笔记
|
Kubernetes 监控 固态存储
阿里云 K8s 环境创建(下)|学习笔记
快速学习阿里云 K8s 环境创建(下)
阿里云 K8s 环境创建(下)|学习笔记
|
SQL Kubernetes 关系型数据库
阿里云 K8s 环境创建(上)|学习笔记
快速学习阿里云 K8s 环境创建(上)
阿里云 K8s 环境创建(上)|学习笔记
|
Go vr&ar 开发者
数组注意事项和细节(2)|学习笔记
快速学习数组注意事项和细节(2)。
130 0
数组注意事项和细节(2)|学习笔记