Go语言基础语法(package)-5
章节
- package 作用及定义
1.package 作用及定义
- package 是 最基本的分发单位 和 工程管理中依赖关系 的体现
- 每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包
- 要生成GO语言可执行程序,必须要有main的package包,且必须在该包下有main()函数
- 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成
2.实践-验证上述package作用及定义
2.1 必须要有 package main 包 且 必须在该包下有main函数
package 包名不为main
package main1 import "fmt" func main1() { fmt.Println("测试") }
运行结果如下图所示:
2.2 package main 包中没有main函数-func main1() {...}
package main1 import "fmt" func main1() { fmt.Println("测试") }
运行结果如下所示:
所以package main 下面需要有main函数,否则生成不了可执行文件
2.3 package 名不为main
//package 包名与文件夹名要求保持一致 package learn02 import "fmt" func test02() { fmt.Println("i am test") }
package learn02 与 项目文件夹结构目录保持一致
test02.go 源代码编译情况如下所示:
源代码文件可正常编译
2.4 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成
目录结构下新建 main02.go
运行情况
go build main02.go
2.5 一个package可以包含多个源文件
项目目录结构如下所示:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深入理解Java内存模型(五)——锁
锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码: class MonitorExample { int a = 0; public synchronized void writer() { //1 a++; //2 } //3 int i = a; //5 public synchronized void reader() { //4 …… } //6 } 假设线程A执行writer()方法,随后线程B执行reader()方法。根据happens before规则,这个过程包含的happens before 关系可以分为两类: ●根据程序次序规则,1 happens before 2, 2 happens before 3; 4 happens before 5, 5 happens before 6。 ●根据监视器锁规则,3 happens before 4。 ●根据happens before 的传递性,2 happens be...
- 下一篇
机器学习教父Tom Mitchell:不是人人都该学Python,而要让AI理解人
卡内基梅隆大学(CMU)的机器学习系是全球高校里的第一个专门的机器学习系,其创始人Tom Mitchell 教授参与写作了1983年出版的经典教材《机器学习:一种人工智能方法》,其中的一些思想即使在今天看来,也依然深刻而历久弥新。 被誉为“机器学习教父”的Mitchell教授,专为新智元AI WORLD 2018世界人工智能峰会撰写了演讲报告《人工智能与互联的未来》,探讨峰会主题“万物互联,人机共生”。 Mitchell 教授告诉新智元,在他长达30多年的职业生涯中,机器学习技术的产业化发展,是令他印象最为深刻的一个变化。从上世纪八九十年代开始,再到如今的深度学习,机器学习技术转变为越来越多的应用,走进人们的生活。 “未来,我们可以拥有像手机一样的电灯,”Mitchell教授兴奋地说:“在餐厅里的灯泡可以观测客户是否需要点餐或结账,而医
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境