From 95760d9028b52bd27af642ee49f31d43faaed6cc Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Wed, 29 Aug 2012 22:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=86=99=E4=BA=86init?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=BF=99=E4=B8=80=E5=B0=8F=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2.3.md | 24 +++++++++--------------- 2.4.md | 2 +- images/2.3.init.png | Bin 0 -> 38822 bytes 3 files changed, 10 insertions(+), 16 deletions(-) create mode 100644 images/2.3.init.png diff --git a/2.3.md b/2.3.md index 505c72fc..e4ef4564 100644 --- a/2.3.md +++ b/2.3.md @@ -437,22 +437,16 @@ Recover return } -###init函数 -Go的每个源文件可以定义自己的init函数来设置需要初始化信息。(实际上允许每个文件有多个init函数)。执行玩包中的所有init函数之后,执行完所有变量声明后,初始化他们的值之后,整个的包才被初始化完毕。init函数的一种常见用法是真正开始执行之前验证或修复的程序状态的正确性。 +###main函数和init函数 - func init() { - if USER == "" { - log.Fatal("$USER not set") - } - if HOME == "" { - HOME = "/usr/" + USER - } - if GOROOT == "" { - GOROOT = HOME + "/go" - } - // GOROOT may be overridden by --goroot flag on command line. - flag.StringVar(&GOROOT, "goroot", GOROOT, "Go root directory") - } +Go里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数定义的时候必须都是没有任何参数,也没有任何返回值的。虽然一个package里面可以随便写多个init函数,但是对于易读性还是以后的维护性来说,我们还是强烈建议用户一个package只写一个init函数。 + +Go程序里面会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。init函数每个package里面是可选的,但是对于package main就必须包含一个main函数 + +初始化和执行程序都是开始于main包,如果有import其他包,那么依次import进来。虽然有很多个包里面import了同一个包,但是这个包只会import一次(例如fmt包,可能很多package里面都会用到,但是只import了一次,因为没有必要包含多次)。当一个package被import进来的时候,如果他本身还import了其他包,那么先执行import其他包,然后执行这个包里面的包级别的常量和变量,然后执行init函数(如果包里面有的话)。最后所有的被main包import的包都加载完毕了,然后开始执行main包里面的常量和变量的初始化,然后执行main包里面的init函数(如果存在的话),最后执行到了main函数。下图详细的解释了整个的执行过程。 + +![](images/2.3.init.png?raw=true) + ## links * [目录]() diff --git a/2.4.md b/2.4.md index a8956c06..8469b96f 100644 --- a/2.4.md +++ b/2.4.md @@ -1,5 +1,5 @@ #2.4 高级类型 -##strcut +##struct Go语言中,也和C或者其他语言中一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。例如,我们可以创建一个自定义类型`person`代表一个人的实体。这个实体拥有属性:姓名和年龄。这样的类型我们称之`struct`。如下代码所示: type person struct { diff --git a/images/2.3.init.png b/images/2.3.init.png new file mode 100644 index 0000000000000000000000000000000000000000..192b605bc4ab3608ec4c798c91b3943fcb822daf GIT binary patch literal 38822 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 literal 0 HcmV?d00001