/*
单个包:
improt "包目录的路径"
多个包:
improt ("包目录的路径", "包目录的路径")
improt (
"包目录的路径"
"包目录的路径"
)
自定义引用的包名 :
import (
"包目录的路径"
"crypto/rand"
自定义名 "包目录的路径" // 将名称替换为mrand避免冲突
r "crypto/rand"
)
只导入包但不使用包 :
import (
_ "path/to/package"
)
初始化入口:init()
每个源码可以使用 1 个 init() 函数。
init() 函数会在程序执行前(main() 函数执行前)被自动调用。
调用顺序为 main() 中引用的包,以深度优先顺序初始化。
在运行时,被最后导入的包会最先初始化并调用 init() 函数 : main→A→B→C,那么这些包的 init() 函数调用顺序为: C.init→B.init→A.init→main
同一个包中的多个 init() 函数的调用顺序不可预期。
init() 函数不能被其他函数调用 例如,为了提高数学库计算三角函数的执行效率,可以在程序启动时,
将三角函数的值提前在内存中建成索引表,外部程序通过查表的方式迅速获得三角函数的值。
但是三角函数索引表的初始化函数的调用不希望由每一个外部使用三角函数的开发者调用,
如果在三角函数的包内有一个机制可以告诉三角函数包程序何时启动,那么就可以解决初始化的问题
*/ package info_packge
 /*
goLang引入自定义包规则:
1 : 设置$GOPATH环境变量
2 : 自定义包里面对外提供的API函数,首字母必须大写
3 : 包的编译和安装:
包的.go文件必须存放在一个独立的文件夹下(如test)
然后对test文件夹使用 go build 和 go install 命令:之后在$GOPATH下添加生成pkg文件夹,
文件夹下则生成test.a文件(因此,包文件的父文件夹名最好和包名一致)
4 : 包的使用 :
生成包的名字和包的真实名字可以不一致
project/src/test/my.go
main.go
pkg/XXXXXX/test.a */
package info_packge

最新文章

  1. DuoCode测试
  2. Java关键字总结及详解
  3. 柬埔寨手机上网资费套餐(3G/4G上网)
  4. bootstrap table 服务器端分页例子分享
  5. qt实现类似QQ伸缩窗口--鼠标事件应用
  6. Java 集合框架之set用法
  7. PAT1078 Hashing 坑爹
  8. MySQL新建用户与授权
  9. MDK 编译错误和警告 使用时遇到的小问题
  10. 【二维树状数组】计数问题 @JSOI2009/upcexam5911
  11. Linux基础入门之vsFTP+MySQL/MariaDB认证实现虚拟用户配置详解
  12. alluxio网络流量异常分析【转】
  13. C语言标准函数源代码
  14. webstorm 2017 激活破解
  15. SpringMVC之学习(0)
  16. thinkphp3.2笔记(1)目录,控制器及url模式,地址解析
  17. PHP $_SERVER 变量
  18. logistic回归和线性回归
  19. [06] 盒模型 + auto 居中 + 垂直合并
  20. [LeetCode] Reorder List 反向插入链表

热门文章

  1. 79.纯 CSS 创作单元素麦当劳金拱门 Logo(自创)
  2. 【开源】后台权限管理系统升级到aspnetcore3.1
  3. UIPickerView 模块示例demo
  4. CheckStyle报错的常见问题及解决方式
  5. SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
  6. .net Core发布至IIS完全手册带各种踩坑
  7. 调用Excel.Application报错的解决方法
  8. 聊一聊 MySQL 数据库中的那些锁
  9. [ZJOI2008]树的统计(树链剖分)
  10. JS-06-定时器