03-走马观花:接触Golang

105 阅读1分钟

学习目的

公司的自动化项目,除了要求Python以外,还有部分要求Golang。前者略懂,后者不懂。如果没被裁,后续可以接Golang的自动化项目,继续牛马。如果被裁了,后续找工作也算有一个可以展示的特点。

鉴于,编程语言没有什么特别大的隔阂,我决定也学习一下。

学习的主要目标,在于:

  1. 学会Hello World
  2. 学会从GitHub上下载Golang项目。
  3. 学会在Visual Studio Code上,编辑GitHub上的项目。

学习来源

github.com/geektutu/7d…

image.png

PythonGolang的异同

百度,AI搜索了下。

相同点都是,开源,跨平台,以及面向对象编程(大学学过,现在忘了)。

不同点就是,Python方便开发者理解和上手,牺牲了一定的运行效率;Golang注重严格、规范的语法,拔高了一定的开发门槛。

我是这么理解的。

安装Go

不知道哪一个版本是最新的,决定去国内镜像去看看。

golang.google.cn/dl/

image.png

是1.24.2版本,开始下载。

wget https://golang.google.cn/dl/go1.24.2.linux-amd64.tar.gz

image.png

然后解压一下。

sudo tar -C /usr/local -zxvf go1.24.2.linux-amd64.tar.gz

image.png

添加环境变量和国内镜像

sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/go/bin

# 编辑完毕后,执行
source ~/.bashrc
# 如果你使用的是 zsh,则执行 source ~/.zshrc

编辑完毕后,可以尝试输入版本命令,要是可以显示版本,那就是环境加上了。

[watcher@functiona bin]$ go version
go version go1.24.2 linux/amd64

跟Linux镜像类似的,没有张良计,就得过桥梯——用国内的镜像速度更快。

go env -w GOPROXY=https://goproxy.cn,direct

一个简单的Hello World

[watcher@functiona GoTestDir]$ vim test1.go 
package main

import "fmt"

func main() {
        fmt.Println("Hello World!\n")
}

image.png

GitHub下载一个项目到Linux

随便找了一个项目。

github.com/gobyexample…

image.png

# 把项目下载到Linux上
git clone https://github.com/gobyexample-cn/gobyexample

image.png

PS:裸连好像不大行了,在互联网上搜到了一个插件,免费的,挺不错。

www.dogfight360.com/blog/18682/

image.png

有点小问题

下载之后发现,与其说这是一个项目,不如说是一个Wiki。

更多是用来保存案例,供人学习的备份文件。不是我想象中的那种,下载后一键调用的项目。

不过问题不大。

真要说,能不能用,那确实可以用。

image.png

学习从GitHub上,上传一个项目

安装了Codespace插件,绑定账号之后,可以快捷地绑定自己的项目。 点击加号,然后可以加已有的,也可以新增。

image.png

后续发现,这个是从账号上,读取已有的项目,跟我现在的想法不大一致。按下不表。

本地新建一个项目

新建了一个readme的阅读文件,和一个基础的go文件。

image.png

都是拿Copilot自动生成的。要是会AI,那么编码效率提升的可不是一星半点。一瞬间就能生成,太快了。

image.png

好像不得不下载一个Git命令

Visual Studio Code上,看到了一个SOURCE CONTROL的栏。这个好像就是可以控制GitHub源码的那个栏。

不过硬性要求下载Git,那避无可避,就下一个吧。

image.png

确定上传的文件,然后一键上传。

SOURCE CONTROL中,可以看到两个change的栏。初步了解之后,我觉得一个是待变更栏(Changes),和已变更栏(Staged Changes)。

通过文件左边的加号,来变更文件的属性,然后点击Commit

image.png

Git得提前配置名字和邮箱

没看说明书,看到报错,才知道,得提前配置名字和邮箱。

image.png

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

image.png

然后点击Commit,就等它自动化运行了。

好像还得写更新内容?

image.png

然后就是选择属性了,私密还是公开。

image.png

都是按照步骤走,Publish Branch,然后就可以去仓库空间看,是不是有一个新建的仓库了。

image.png

从流程上来说,还是比较简单的。

image.png