前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go 语言社区】Golang的初始化顺序

【Go 语言社区】Golang的初始化顺序

作者头像
李海彬
发布2018-03-20 10:32:14
1K0
发布2018-03-20 10:32:14
举报
文章被收录于专栏:Golang语言社区Golang语言社区

Init 每个包都可以定义一个或多个init函数2(原型为 func init()),init函数在包初次 被导入时调用,同一个包内的多个init函数的执行的顺序是不定的,而如果这个包又导入了其他的包,则级连调用,所有包import完成,所有init函数执行完后,则开始main的执行。 而对于全局变量,以一个简单的例子来说明: // package p var gInt int… // package a import "p"… // package b import "p"… // package main import ( "a" "b" )… 在package p中,我们定义了一个全局变量gInt,而p被package a,b所import,接 着packagemain又按序import了a,b,即a在b前被import。a先import了p,所以此时gInt被初始化,这样就解决了C/C++中全局变量初始化顺序不一致的问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档