diff --git a/Go入门速成/Day1/Class1 安装、初始化Go.md b/Go入门速成/Day1/Class1 安装、初始化Go.md new file mode 100644 index 0000000..fe9f0d8 --- /dev/null +++ b/Go入门速成/Day1/Class1 安装、初始化Go.md @@ -0,0 +1,41 @@ +# Class1 如何安装、初始化Go +## 如何安装Go +### Windows: +- 进入[Go官方网站](https://golang.google.cn/dl/)进行下载,他在国内速度仍然非常不错,有中国的站点服务器!当然,如果不方便的话,也可以使用[我的服务器](https://krust.top:5244/d/public/go1.24.1.windows-amd64.msi?sign=R8kAqRwIzoLiizh2kzEmkH5t9ENzS_w4j0K7tmqOHVM=:0)进行下载 +- 下载后安装要求解压,安装即可 +- 注意:默认的GOPATH位于用户目录(该路径为go的主目录,内部用来保存我们拉取的包会存在那个位置),如果不调整的话,将会占用C盘的空间 +### Linux +- 使用你的包管理器安装即可,这里使用`Opensuse`举例 +```bash +sudo zypper in go +``` +### 对go进行本地化配置 +- 我们需要对go换国内的源,我将以`GoProxy.cn`为例: +```bash +go env -w GO111MODULE=on +go env -w GOPROXY=https://goproxy.cn,direct +``` +## 安装IDE +#### 方案一:Jetbrain GoLang +- 按照Jetbrain的安装指南安装后使用即可 +- 注意:如果您忘记了学生邮箱账户的话,可能无法使用学生认证,那么,就需要使用破解版,教程就请自己上网上去查了(可能会有版权纠纷) +#### 方案二:VScode +- 大家应该都安装好了VScode,只需要安装Go的插件Go即可:![image.png](https://krust.top:5244/d/public/KrustBlogPNG/20250319084109365.png?sign=RQIhP6dk7AUJW0i-vsXj-7PNkGiUMkEuwCtNm-hfXtg=:0) +## 初始化Go项目 +### 编写Helloworld: +- 我们进入一个全新的空的目录,新建一个入口文件`main.go`,在go语言中,这个文件是go所有程序的路口,go程序的编译、构建都是由它开始的 +```go +// main.go +package main +func main() { + println("Hello, World!") +} +``` +- 我们写完了程序,如何把这个程序运行起来呢,分为两步: + - 第一步:执行指令`go mod init`,初始化与版本相关联的 Go 包的集合,确定了根目录、定义了项目的依赖和版本,确保项目可以重建。(也叫做Go的模块)!这一步,会在当前路径下创建`go.mod`文件 + - 第二步:执行指令`go mod tidy`,拉取我们需要的go的组建(又叫做库),这个操作可以类比为`pip install -r requirements.txt`,所需要的包IDE会自动写入`go.mod`文件中。 + - ![image.png](https://krust.top:5244/d/public/KrustBlogPNG/20250319090617163.png?sign=j3448Wo2gLjatAdHKplY3LSbHQv7-H445FLMbOhOFk0=:0) +- 随后,通过上面这两步,go程序就初始化好了,相关的包也下载好了,接下来,我们就能重新运行了 + - 运行项目:`go run` 开始执行整个项目 + - 运行单个程序: `go run xxx.go` + - 构建go项目(将整个项目打包成为可执行文件) `go build` \ No newline at end of file diff --git a/Go入门速成/Day1/Class2 Go的基本语法.md b/Go入门速成/Day1/Class2 Go的基本语法.md new file mode 100644 index 0000000..e69de29 diff --git a/Go入门速成/Day1/ExampleCode/Helloworld/go.mod b/Go入门速成/Day1/ExampleCode/Helloworld/go.mod new file mode 100644 index 0000000..e7f9816 --- /dev/null +++ b/Go入门速成/Day1/ExampleCode/Helloworld/go.mod @@ -0,0 +1,3 @@ +module main + +go 1.24.1 diff --git a/Go入门速成/Day1/ExampleCode/Helloworld/main b/Go入门速成/Day1/ExampleCode/Helloworld/main new file mode 100755 index 0000000..6ce6e10 Binary files /dev/null and b/Go入门速成/Day1/ExampleCode/Helloworld/main differ diff --git a/Go入门速成/Day1/ExampleCode/Helloworld/main.go b/Go入门速成/Day1/ExampleCode/Helloworld/main.go new file mode 100644 index 0000000..16e2b22 --- /dev/null +++ b/Go入门速成/Day1/ExampleCode/Helloworld/main.go @@ -0,0 +1,5 @@ +package main + +func main() { + println("Hello, World!") +}