go语言day12 包 init() time包 file包

包

包中的 结构体 及结构体属性 方法 都可以通过设置首字母大小写来实现权限访问,首字母大写任何包中都可以访问,首字母小写只在同包中可以访问。

再导入包go文件时,可以给.go文件取别名。

在导入的包名前加入 _ 意思是调用该包的初始化init()函数。而不进行任何其他操作。

init()函数

调用顺序

在同一go文件中多个init()函数

一个go文件中可以定义多个init()函数。

在导入util.go文件包后Count()方法调用前执行init初始化函数,执行顺序从上到下。

在同一个包下多个go文件的init()函数

test1.go文件 和 util.go文件 都有初始化init函数。 在mian方法中调用 util.go的MyTest2()然后在该方法中调用Count(),则main()只需要导入utils包。但是两个同包go文件谁的init()先执行根据的是go文件的字符串名称。具体规则是比 test 和 util 的第一位对应asc编码谁小谁先执行,就跟炸金花一样,三张单牌看最大那张。

在不同包下所有init函数的调用顺序
两个包互相导入对方包

互相依赖的话,init()函数调用出现问题,找不到一个可以先执行的init()函数。

时间 time包

  1. Format("2006年01-02 15:04:05")

时间类型的Format()的固定模板,2006 01 02 15 04 05这几个数字必不可少,是识别时间格式的固定模板,记忆口诀 6 1 2 3 4 5。据说也是go语言的创建时间。

  1. nowTime := time.Now()

now.Date() //输出时间的年 月 日

now.Clock() // 输出时间的时 分 秒

  1. time.Date()

创建指定的时间类型对象。

文件 file包

相关推荐
蜗牛一步步往上爬2 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
IT_陈寒2 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端
ikoala2 小时前
让 Codex 自己查账:一个省 token 的小技巧
前端·后端·ai编程
张张123y4 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
wo_jack5 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
量化分析码农7 小时前
【Python量化波动率实战 02】波动率会传染:EWMA 指数加权给近期行情更大话语权
后端
冻柠檬飞冰走茶7 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing037 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊7 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
GISer_Jing7 小时前
如何学习Agent
后端·langchain