一、go项目的存放目录[环境变量 gopath中设置的目录]
我的 : D:\goexe
该目录下新建src文件 所有程序放在src下
二、创建main.go
package main //包名 每个程序都应该有个main包
import (
"fmt"
"test"
)
func main() {
fmt.Println("main")
res := test.Add(2,3)
fmt.Println(res)
}
三、创建main.go 同级的文件夹(就是自定义的包)
如 test 文件夹 , 在test文件夹中创建 test.go
package test //如果跟main.go是同级 这里则是main 【同一目录下的包名一样】
//但是 test文件跟main.go才是同一 文件的包名取对应文件夹的名字
//如果引入某个包 执行执行对应的init方法 可以如下导入
// import _ "fmt" //这样表示忽略除init的其他方法
import "fmt"
//只要导入这个文件的包 这个函数便会被最新执行
func init(){
fmt.Println("init")
}
//如果Add需要被其他文件调用 则方法名的首字母需要大写
func Add( a , b int) int {
return a + b
}
三、所以目录结构如下
如果没有设置环境变量gopath 需要先设置 再执行main.go
【设置环境变量 : 找到我的电脑或计算机 -》 属性 -》 高级系统 -》高级 -》 环境变量 -》在用户变量中查看是否有GOPATH这个变量,有的话直接在当前值后面加封号(如果没封号的话),然后再把当前项目的src上一级的绝对路径加入到当前值,如我的src在 D:\goexe\ , 那加D:\goexe\就可以了。 如果没有GOPATH这个变量那就点新建 然后继续前面的操作 -》 然后一系列确定就可以了 -》 然后可以去cmd中 go env 查看配置的值 】
【注意自己定义的包名不要跟系统的一样 如果我定义了一个sort包 运行失败, 当把sort 改成sort1时 运行通过】
我的目录结构如下
D:\goexe\
src\
main.go
test\
test.go