# 安装和配置
# go语言本体
进入go语言官网 快的离谱
随后选择对应的版本,双击msi文件安装
# goland安装
一般来说大部分语言都需要一个IDE,这里用goland做例子
goland是付费软件,但网上破解教程一大堆,所以这里就不给破解教程了
点这里 下载
安装及配置教程同pycharm,故不在赘述
# 常见错误
# $gopath/go.mod exists but should not
因为goland自动启用了go模块集成,但模块集成与gopath不兼容,所以出现此错误
解决方案: 在命令行中执行以下命令
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
然后删除gopath配置,重启电脑,问题随之解决。
可以通过更改gopath
或禁用go.mod
的方式解决,但推荐使用module的方法
# no Go files in goroot/src/go
出现于既没有设置module,也没有设置gopath并且代码在非src目录下的情况
可以使用上面的解决方法设置go module来解决,这里不推荐使用gopath的方法
# go语言的hello world
package main
import "fmt"
func main() {
/*这是一行注释*/
fmt.Println("hello world")
}
package main
定义了包名,每个go文件的第一行都应该是package
。package main
表示这是一个独立的可执行程序,
每个go项目都包含一个main包名的包
import "fmt"
导入一个指定的库并告诉编译器需要使用这个库,类似于#include
。
fmt
库包含了go语言的I/O函数
func main()
为程序的主函数(就是最开始执行的函数),一般是第一个执行的函数
init()
函数的优先级高于func main()
/* xxx */
是注释,同C++的写法,//
是单行注释,/* */
是多行注释,不可嵌套使用
fmt.Println
是输出一个字符串到控制台,使用fmt.Print("str\n")
可以实现同样的效果
当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,
那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),
这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,
但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private)。