# 安装和配置
# 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)。