Go中的工程管理

栏目: Go · 发布时间: 6年前

内容简介:一、工作区:

一、工作区:

其实就是一个对应于特定工程的目录,它应包含 3 个子目录: src 目录、 pkg 目录和 bin 目录。

src 目录:用于以代码包的形式组织并保存 Go 源码文件。(比如: .go .c .h .s 等)

pkg 目录:用于存放经由 go install 命令构建安装后的代码包(包含 Go 库源码文件)的“ .a ”归档文件。

bin 目录:与 pkg 目录类似,在通过 go install 命令完成安装后,保存由 Go 命令源码文件生成的可执行文件。

若环境变量 GOPATH 中包含多个工作区的目录路径,像这样执行 go install 命令就会失效,此时必须设置环境变量 GOBIN

二、包:

我们创建的的自定义包最好 放在 GOPATH src 目录下 (或者 GOPATH src 的某个子目录)。

Go 语言中,代码包中的源码文件名可以是任意的。但是,这些任意名称的源码文件都必须以包声明语句作为文件中的第一行,每个包都对应一个独立的名字空间。

package   calc

包中成员以名称⾸字母⼤⼩写决定访问权限:

public: ⾸字母⼤写,可被包外访问

private: ⾸字母⼩写,仅包内成员可以访问

注意: 同一个目录下 不能 定义不同的 package

三、main包。

init 函数(能够应用于所有的 package ), 建议用户在一个 package 中每个文件只写一个 init 函数

main 函数(只能应用于 package main ), package main 就必须包含一个 main 函数.

行顺序

1)每个包可以包含任意多个 init 函数,这些函数都会在程序执行开始的时候被调用。所有被 编译器发现的 init 函数都会安排在 main 函数之前执行。 init 函数用在设置包、初始化变量或者其他要在程序运行前优先完成的引导工作。

2) 程序的初始化和执行都起始于 main 包。如果 main 包还导入了其它的包,那么就会在编译时将它们依次导入。

3) 有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到 fmt 包,但它只会被导入一次,因为没有必要导入多次)。

4) 当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的 包级常量和变 进行初始化,接着执行 init 函数 (如果有的话),依次类推。

5) 等所有被导入的包都加载完毕了,就会开始对 main 包中的包级常量和变量进行初始化,然后执行 main 包中的 init 函数(如果存在的话),最后执行 main 函数。

Go中的工程管理

四,导入包使用关键字import。

一)、import可以是相对路径,也可以是绝对路径。

//方法1

import  "fmt"

import "net"

//方法2

import (

"fmt"

"net"

)

二)、包的查找路径。

1) 标准库中的包会在安装 Go 的位置找到; 2) Go开发者创建的包会在GOPATH环境变量指定目录里查找。

3)如果编译器查遍 GOPATH 也没有找到要导入的包,那么在试图对程序执行 run 或者 build

的时候就会出错。

三)点操作,别名操作和_操作。

1)点操作:

import (

// 这个点操作的含义是这个包导入之后在你调用这个包的函数时,可以省略前缀的包名

. "fmt"

)

func main(){

Println("Hello go!")

}

2)别名操作

import (

io "fmt" //fmt改为io

)

func  main(){

io.Println("hello go") //通过io别名调用

}

3)_操作

import (

_"fmt"

_操作其实是引入改包,而不直接使用包里面的函数, 而是调用了该包里面的init函数。


以上所述就是小编给大家介绍的《Go中的工程管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据大创新:阿里巴巴云上数据中台之道

大数据大创新:阿里巴巴云上数据中台之道

邓中华 / 电子工业出版社 / 2018-11 / 99

阿里巴巴云上数据中台正服务着阿里生态中的数十个业务板块、百余家公司、千万级客户,在帮助决策层看清甚至决定业态走向的同时,在上万个业务场景中应用并催生创新。 《大数据大创新:阿里巴巴云上数据中台之道》基于作者在阿里巴巴的十年大数据从业经历,精彩演绎云上数据中台之道。《大数据大创新:阿里巴巴云上数据中台之道》基于大数据探索的大趋势,讲述阿里巴巴云上数据中台顶层设计,再以实际案例详述阿里巴巴云上数......一起来看看 《大数据大创新:阿里巴巴云上数据中台之道》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具