golang 项目的结构

150 阅读1分钟

代码组织

go应用使用包和模块来组织代码

  • 包: 对应到文件系统的 文件夹
  • 模块:*.go 的源文件 一个包中会有多个模块 或者 子包

go 项目管理工具

早期的 go 项目使用 gopath 来管理项目,不方便而且容易出错,从golang 1.11 开始使用 gomod 管理项目,当然还有 第三方模块例如 govendor

步骤

  • 创建项目
  • 初始化项目
  • 创建包
  • 创建模块
  • 相互调用

例如:

mkdir goproject
cd goproject 
go mod init example.com/project/goproject

项目结构

#
├── go.mod
├── hello
│   └── hello.go
└── main.go

hello.go

package hello

func Hello() string{
	return "hello"
}

main.go

package main

import (
	"fmt"
	"goproject/hello"
)

func main(){
	s := hello.Hello()
	fmt.Printf("s: %v\n", s)
}