既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
包
包的引入:
- 在实际开发中,我们往往需要在不同的文件中,去调用其他文件的定义的函数,比如在 main.go 中,去使用 utils.go 文件中的函数,如何实现?——》包
- 现在有两个程序员共同开发一个 Go 项目,程序员A 希望定义函数 cal,程序员B 也想定义函数 cal,两个程序员吵起来了,怎么办?——》包
包的原理图
包的本质实际上就是创建不同的文件夹,来存放程序文件
包的介绍
包的概念:
说明:go 的每一个文件都是属于一个包的,也就是说 go 是以包的形式来管理文件和项目目录结构的
包的三大作用:
- 区分相同名字的函数,变量等标识符
- 当程序文件很多时,可以很好的管理项目
- 控制函数、变量等访问范围,即作用域
包的相关说明:
- 打包基本语法
- package util
- 引入包的基本语法
- import “包的路径”
包的快速入门:
说明:包的快速入门——》Go 相互调用函数
使用包里面的函数
包名.函数名( )
包的注意事项和细节说明:
- 在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils,文件的包名 通常 和文件所在的文件夹名一致,一般为小写字母
- 当引入一个文件要使用其它包函数或变量时,需先引入对应的包
- 引入方式1:import “包名”
- 引入方式2: import ( “包名”)(和引入fmt 一样)
- package 指令在文件第一行,然后是 import 指令
- 在 import 包时,路径从 $GOPATH 的 src 下开始,不用带 src ,编译器会自动从 src 下开始引入
- 为了让其他包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言的 public,这样才可以跨包访问。(比如 untils.go )
- 在访问其他包函数时,其语法是: 包名。函数名
- 如果包名较长,Go 语言支持给包取别名。注意细节:取别名后,原来的包名就不能使用了。说明:如果给包取了别名,则需要使用别名来访问该包的函数和变量
- 在同一个包下,不能有相同的函数名(也不能有相同的全局变量),否则报重复定义错误
- 如果你要编译成一个可执行程序文件,就需要将这个包声明为 main,即 package main。这个就是一个语法规范,包名可以自定义
- 编译时需要编译 main 包所在的文件夹
- 可以指定生产的可执行文件名 .exe,放在指定路径
- go build -o bin\my.exe 后面时mian.go所在的路径
- -o 代表输出
- 当编译完会生成一个 pkg 文件,里面是库包 .a(里面是二进制)
函数的调用机制
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!