学习目的
公司的自动化项目,除了要求Python以外,还有部分要求Golang。前者略懂,后者不懂。如果没被裁,后续可以接Golang的自动化项目,继续牛马。如果被裁了,后续找工作也算有一个可以展示的特点。
鉴于,编程语言没有什么特别大的隔阂,我决定也学习一下。
学习的主要目标,在于:
- 学会
Hello World。 - 学会从
GitHub上下载Golang项目。 - 学会在
Visual Studio Code上,编辑GitHub上的项目。
学习来源
Python和Golang的异同
百度,AI搜索了下。
相同点都是,开源,跨平台,以及面向对象编程(大学学过,现在忘了)。
不同点就是,Python方便开发者理解和上手,牺牲了一定的运行效率;Golang注重严格、规范的语法,拔高了一定的开发门槛。
我是这么理解的。
安装Go
不知道哪一个版本是最新的,决定去国内镜像去看看。
是1.24.2版本,开始下载。
wget https://golang.google.cn/dl/go1.24.2.linux-amd64.tar.gz
然后解压一下。
sudo tar -C /usr/local -zxvf go1.24.2.linux-amd64.tar.gz
添加环境变量和国内镜像
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")
}
在GitHub下载一个项目到Linux
随便找了一个项目。
# 把项目下载到Linux上
git clone https://github.com/gobyexample-cn/gobyexample
PS:裸连好像不大行了,在互联网上搜到了一个插件,免费的,挺不错。
www.dogfight360.com/blog/18682/
有点小问题
下载之后发现,与其说这是一个项目,不如说是一个Wiki。
更多是用来保存案例,供人学习的备份文件。不是我想象中的那种,下载后一键调用的项目。
不过问题不大。
真要说,能不能用,那确实可以用。
学习从GitHub上,上传一个项目
安装了Codespace插件,绑定账号之后,可以快捷地绑定自己的项目。
点击加号,然后可以加已有的,也可以新增。
后续发现,这个是从账号上,读取已有的项目,跟我现在的想法不大一致。按下不表。
本地新建一个项目
新建了一个readme的阅读文件,和一个基础的go文件。
都是拿Copilot自动生成的。要是会AI,那么编码效率提升的可不是一星半点。一瞬间就能生成,太快了。
好像不得不下载一个Git命令
在Visual Studio Code上,看到了一个SOURCE CONTROL的栏。这个好像就是可以控制GitHub源码的那个栏。
不过硬性要求下载Git,那避无可避,就下一个吧。
确定上传的文件,然后一键上传。
在SOURCE CONTROL中,可以看到两个change的栏。初步了解之后,我觉得一个是待变更栏(Changes),和已变更栏(Staged Changes)。
通过文件左边的加号,来变更文件的属性,然后点击Commit。
Git得提前配置名字和邮箱
没看说明书,看到报错,才知道,得提前配置名字和邮箱。
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
然后点击Commit,就等它自动化运行了。
好像还得写更新内容?
然后就是选择属性了,私密还是公开。
都是按照步骤走,Publish Branch,然后就可以去仓库空间看,是不是有一个新建的仓库了。
从流程上来说,还是比较简单的。