Go语言学习草稿(7) 包

文件1

package adder

import "fmt"

/*
本文件位于 $GOPATH/src/github.com/go-learn/pkg
文件名是 calc.go
代码的执行顺序是 全局变量->init()->main()
main()只有在package main中才有用
*/

// 一个文件夹中只能有一个包
func Add(x, y int) int {
	return x + y
}

// 包的初始化函数
func init() {
	fmt.Println("导入包时自动执行")
}

文件2

package main

import (
	// 导入包时可以加别名, 别名为.表示可以省略包名
	. "fmt"
	// 导入包只需要定位到文件夹
	// pkg是一个文件夹, 里面有一个calc.go, 首行是package adder
	// 一般情况下要求文件夹名和包名一致, 文件名可以不一致(所以在这里使用pkg这个名字不合适)
	"github.com/go-learn/pkg"
	// 如果需要导入包而不使用, 则用匿名导入, 把别名写成_
	_ "math"
)

func pkgImportTest() {
	// 访问的时候用的是包名, 而不是文件名和文件夹名
	// 如果有别名则用别名
	Println(adder.Add(1, 2))
}

func main() {
	pkgImportTest()
}

你可能感兴趣的:(Go)