GOROOT和GOPATH走过的坑
一、Goland设置相关
① GOROOT
很好理解就和jdk一样,设置成go的根目录

② GOPATH
在Goland中GOPATH分成全局和项目GOPATH,全局GOPATH设置成go的根目录,项目GOPATH设置成项目根目录

PS.有的项目会从电脑系统变量里去获取GOPATH,这个时候即使在goland中设置了项目GOPATH也会存在无法找到指定目录的情况,这个时候需要在环境变量里单独设置该项目的GOPATH

二、GO语言框架结构
1、基本结构
golang的项目结构目录,正常情况下有三个目录:
|--bin #存放编译后的可执行文件
|--pkg #存放编译后的包文件
|--src #存放项目源文件
我创建一个src目录,下面再创建一个叫main的项目(可以叫任何名字,我只是示例叫main),里面有一个main.go文件。

编译代码时,我们需要设置编译器选项Edit Configurations:

编译路径有三种Run kind:Directory、Package、File
Directory:
① 编译目录,选择包含main函数的路径;
② 输出目录,可选可不选,选择后会在该目录下生成项目的可执行文件;
③ 工作目录,选择src目录

File
就是把编译路径具体到一个 .go文件,该文件需要包含main函数

2、复杂结构
① 引用自己项目中其他模块的包,调用函数等
写一个函数放在package calcavg里:
package calcavg
import "fmt"
func Avg(a,b int){
fmt.Println((a+b)/2)
}
将这个go文件取名add.go,并放在文件夹calc下面:
|--src
| |--main
| | |--calc
| | | |--add.go
| | |--main.go

在主函数中的调用方法:
package main
import "main/calc"
func main(){
a , b := 12,23
calcavg.Avg(a,b)
}
注意:外包的函数名首字母一定要【大写】,大写函数定义的是public,小写函数名只能在自己的package中调用
import导入的是文件目录,调用这个函数的方法是,包名.函数名()
② 引用第三方项目
自己写的其他项目引入,比如新建一个叫common的公共包,你的公司有可能把很多go包下载下来,做一个公共仓库,方便公司内网隔离。

在主函数调用也很简单:
package main
import "common/calc"
func main(){
a , b := 12,23
calcavg.Avg(a,b)
}
本文介绍了Golang的学习笔记,包括Goland中GOROOT和GOPATH的设置,强调了全局与项目GOPATH的区别,以及环境变量对GOPATH的影响。此外,详细讲解了GO语言框架结构的基础和复杂情况,如目录结构、编译配置,以及如何引用项目内部和第三方包。
开发环境配置&spm=1001.2101.3001.5002&articleId=108535618&d=1&t=3&u=d4949bc1165c46a4bb4a165053f34851)
1245

被折叠的 条评论
为什么被折叠?



