Go 学习笔记 10 | go mod 以及自定义包

一、go mod 以及 Golang 自定义包

go mod init 初始化项目

新建一个 demo 文件夹,在 demo 文件夹下新建 go.mod 文件和 main.go 文件,再在 demo 文件夹下新建一个 calc 文件夹,在 calc 文件夹下新建一个 calc.go 文件。

calc.go 代码

package calc  // package 一定要放在最上面

func Add(x, y int) int {  // 首字母大写表示公有方法
	return x + y
}

func Sub(x, y int) int {
	return x - y
}

main.go 代码

package main

import (
	"fmt"
	"demo/calc"  // 使用自定义包
)

func main() {
	sum := calc.Add(10, 2)
	fmt.Println(sum)
}

一个文件夹下直接包含的文件只能归属于一个 package,同样一个 package 的文件不能在多个文件夹下。

因此 calc.go 只属于 calc package。

包前面加下划线空格表示匿名引入包,如果不使用这个包,则不会报错。

import (
	"fmt"
	_ "demo/calc"  // 使用自定义包
)

main 包中,init 函数优先于 main 函数。

最后被导入的包会最先初始化并调用其 init() 函数。

二、参考教程

Golang 教程 P35

posted @ 2020-11-22 14:01  Wonz  阅读(968)  评论(0编辑  收藏  举报