时隔一年、终于下定决心认真的学习一下golang,为此昨天纠结了好久要不要买一个正版的goland,最后还是没舍得买…为什么要学习go呢?如今在当前这家公司已经工作两年,悠哉的生活使我日日堕落…体重长胖10斤,这不是最关键的,因为很久没认认真真写过代码了…java不能说忘了,但确实提不起兴趣.想到断断续续的一直使用过go,最终还是下定决心认真学习一下.为此我将更新系列学习不blog,从入门语法到项目实战.为大家踩坑.希望大家看到我的学习文章之后少走弯路。以最快的速度上手go!
补充我的开发环境:
OS:win11x64
go version: go1.16.6
Termite:从零开始的go语言学习生活
一、初级入门
1.为什么要学习go?
不知道各位为什么会选择go,从我自己来说.是因为必须有一门新的语言走进我的生活,就像生活要吃饭一样。当然这个有点跑题,go语言作为21世纪新生代编程语言,含着金钥匙出生,谷歌大佬们共同产生的结晶,似乎没有不学习的理由。
并且go开发出了很多优秀的项目,下面给大家一个列表展示一下,以便于让我们知道学习go能做什么。
- docker
- k8s
- ETH开发
- web后端、web服务器
go语言和其他语言一样,其他语言能做的它都可以做。编程这东西,只能说只有你想不到,没有他做不到。
2.go相较其他语言有什么优势和特征?
(1)特征
说一说go的特征,有人把go比喻成21世纪的C++,我对这句话保持中立意见。因为我是java出身,所以我在对比特征的时候会拿java做比较。
- 强类型,这点和java一样,但是相对java来说的话有更好的机制,在声明的时候可以进行自动推导。
- 编译型语言,和java是一致的,都需要编译后才能运行。但是java是编译成class加载到虚拟机,go的话直接就编译成binary文件可直接运行。从这点上来说go的效率在java之上, 毕竟虚拟机永远不可能比直接执行来得快。
- 跨平台,虽然java也可以跨平台,看似很方便,但实则需要jre的支持。而go只需要在编译的时候选择运行环境相对java来说更加方便。
(2)优势
- 天生对并发操作的支持,毕竟出生于多核处理器问世之后。
- 及万家之长,站在各位巨人的肩膀上,把新的好的思想学习过来。
3.安装go语言以及注意事项
安装的话相对简单,由于go的版本更迭特别快,所以以前的安装可能并不太适用于现在的版本.
在写这篇文章的时候 go的版本为1.16,我特意从B站找了一个新版go的安装以及环境变量的配置,这里给大家参考一下。
这里是引用 李文周21年5月更新的go环境搭建
GOROOT和GOPATH
GOROOT和GOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。
根据以上内容经过我测试后发现下载完安装程序后即使所有都选择默认一直下一步到底也是没有问题的.由于那个博主用的是VSCODE所以我只取了前半部分。
注意:一定要设置goproxy代理,不然从github下载第三方库是没有速度的
可以执行下面的命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
4.安装goland以及破解
完成上一个安装步骤之后就可以搭配一款得心应手的IDE了.这里我选择的是Goland,虽然吃内存,但是64gb任你蹦达…
这个还算比较靠谱,后续我会自己上传一份到网盘,现在先凑乎用吧。
goland破解版下载
5.hello goland
很多教程里会让你创建文件夹并且创建三个子目录
-
src
代码源文件 -
bin
编译后的二进制文件 -
pkg
依赖的第三方库的保存目录
之前我也是这样创建的,但现在我只能说:おれは人间をやめるぞ!ジョジョ―――ッ!!
直接创建新项目sdk就是你的go目录,效果大概是这样的…
新建一个空的go文件,输入以下代码
package main
import "fmt"
func main(){
fmt.Println("hello golang")
}
这里需要说的是,一个项目至少要有一个package main和一个main函数,这个和java很想。类似于程序的入口
点击左下角的terminal可以直接进行编译或者运行
可选命令:go build hello.go
此命令可以直接构建一个二进制程序go run hello.go
此命令不会产生程序但是会执行代码go install
这个命令是配套 GOBIN一起是用的,需要将环境变量gobin设置制定路径,然后在install的时候可以直接安装,但是感觉用处不是很大。
当输入 go run hello.go
可以出现输出语句的时候表示之前的步骤各位已经跟上做对了。