项目结构
环境配置
go 命令依赖一个重要的环境变量:$GOPATH
,它表示GO项目的路径,如下设置
1 2 |
export GOPATH=/home/t/gospace |
对于GOPATH来说,允许多个项目目录(Unix中为“:”,Windows中为“;”)。
项目目录
在项目目录中,一般包含三个文件夹,分别为src
,pkg
和 bin
。各个文件夹功能如下,
- src 存放golang源码
- pkg 存放编译后的文件
- bin 存放编译后可执行的文件
模块导入
在golang中,模块导入包括两种导入方式:相对路径和绝对路径。
相对导入
当前文件同一目录的model目录,但是不建议这种方式来import
1 2 3 4 5 |
import ( "./test1" "../test2" ) |
绝对导入
前提条件需要把该项目加入到golang的GOPATH中,
1 2 3 4 5 |
import ( "project/module1" "project/module2/t" ) |
import的其他操作
点操作
点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,
1 2 3 4 5 6 |
import . "fmt" func test() { Println("test") } |
别名操作
别名操作就是把包命名成另一个名字
1 2 3 4 5 6 |
import f "fmt" func test() { f.Println("test") } |
_操作
操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数
文件1: module/module1.go
1 2 3 4 5 6 7 8 |
package module1 import "fmt" func init() { fmt.Println("this is module1") } |
文件2: main.go
1 2 3 4 5 6 7 8 9 10 11 |
package main import ( "fmt" _ "module" ) func main() { fmt.Println("this is a test") } |
output:
1 2 3 |
this is module1 this is a test |
转自 https://www.cnblogs.com/coder2012/p/4816894.html

