Golang项目管理

Golang项目管理

fetch150zy

一些关于 go module 和 go workspace 的知识,让项目管理更容易

1
2
3
> mkdir demo
> cd demo
> mkdir utils app

go work

under demo:

1
> go work init

demo/go.work

1
2
3
4
go 1.20

use ./utils
use ./app

go mod

under utils:

1
> go mod init example.com/xxx/utils

under app:

1
> go mod init example.com/xxx/app

项目结构

image-20230729175714951

main.go

1
2
3
4
5
6
7
8
9
10
11
12
package main

import (
utils "example/fetch150zy/utils"
"fmt"
)

func main() {
fmt.Println("Hello")

fmt.Println(utils.Add(10, 20))
}

add.go

1
2
3
4
5
package add

func Add(x int, y int) int {
return x + y
}