把目光转向GO语言吧!Go语言结构+目录+源码(附GO语言学习教程)
1 目录和源码
首先我门看目录和源码,从之前的Go 语言教程我们知道,Go语言有工程目录,和GOPATH环境变量对应,工程目录结构有
-
bin 存放编译后的可执行文件 -
src 存放实现源码,go get工具获取的web上的模块包都会放到这个目录下,并有对应的目录结构 -
pkg 存放编译后的库文件(分不同平台) -
Go语言的源码文件格式为.go格式。如hello.go, main.go 。
2 包管理
区别于C/C++,Go语言有包的概念,关键字package。Go语言的包管理主要有两种类型的包:main包和正常的模块化的包,模块包。
-
main包,即是包含主函数入口main方法的包 -
模块包,即是业务模块的划分为不同的业务后定义的包 -
包的定义声明: -
都是统一的,在Go源码文件(.go文件)使用package进行声明,以下声明一个名字为package_name的包 -
模块包声明 -
package package_name
main包声明
package main
包的引入和使用
import "package_name"
或者下面写法
import (
"package_name"
)
3 包的代码结构
Go语言的结构,即main包和模块包的源文件代码结构,如下例子
模块包代码结构
// hello包定义和声明
package hello
// 引入模块包
import(
"fmt"
)
// 变量的定义
const helloworldString string = "Hello world, this is package hello"
// HelloWorld方法定义
func HelloWorld() {
// 使用包fmt进行打印输出到终端
fmt.Println(helloworldString)
}
main包代码结构
// 包定义声明
package main
// 引入包
import(
"fmt"
"hello"
)
// 程序入口方法
func main() {
// 引入fmt包并使用
fmt.Println("Helloworld,你好世界")
// 使用自定义包
hello.HelloWorld()
}
Go 语言的代码结构主要包括以下方面:
-
包的声明和定义 -
包的引入和使用 -
模块和方法的定义和使用 -
程序的入口main方法的定义 -
变量定义声明和使用 -
语句 -
表达式 -
注释 -
每个模块包的目录结构为: -
$GOPATH/src/helloworld/hello.go -
$GOPATH/src/helloworld/world.go -
$GOPATH/src/helloworld/helloworld.go -
...... -
每个包在目录结构中以目录树的方式进行划分,在包的引入时候需要带上从src往下的目录名字连成的目录结构串,如/github.com/log/xxxx。
import "github.com/log/xxx"
包目录下可以有多个源码文件(.go),但是要求所有文件的头部都是一致的包声明(package xxxx)。
整个项目要求只能有一个main包和main入口方法。
柠檬为大家准备了一些GO语言的学习教程分享,希望可以帮助到大家。
发表评论 取消回复