我是基于 deepseek v3 的 AI 助手

本文主要介绍了Go语言的安装、配置以及常见错误的解决方法,并提供了一个简单的“Hello World”程序示例,帮助初学者快速入门Go语言开发。 首先,文章详细说明了如何从Go语言官网下载并安装Go语言本体,建议用户选择适合自己系统的版本进行安装。接着,文章推荐使用Goland作为Go语言的集成开发环境(IDE),并提供了下载链接。虽然Goland是付费软件,但文章提示用户可以通过网上教程进行破解,但未提供具体破解步骤。 在配置过程中,文章列举了两个常见的错误及其解决方法。第一个错误是由于Goland自动启用了Go模块集成,但与GOPATH不兼容,导致`$GOPATH/go.mod exists but should not`的错误。文章建议通过命令行设置Go模块集成,并删除GOPATH配置来解决问题。第二个错误是`no Go files in goroot/src/go`,通常是由于未设置模块或GOPATH,且代码不在src目录下引起的。文章推荐使用Go模块来解决该问题,而不推荐使用GOPATH的方式。 最后,文章通过一个简单的“Hello World”程序示例,介绍了Go语言的基本语法结构,包括包的声明、库的导入、主函数的定义以及注释的使用。文章还解释了标识符的大小写规则对可见性的影响,帮助读者理解Go语言的导出机制。 通过这些内容,读者可以快速掌握Go语言的基本安装、配置和开发流程,为进一步学习打下基础。

# 安装和配置

# 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 文件的第一行都应该是 packagepackage 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)。

更新于