写在文章开头
第一次接触Go
就被其灵巧的编程范式和并发友好的风格所惊艳到,曾经听过耗子叔说过:Go有着python的姿态和C语言的理念
,所以笔者经过一段时间的了解和整理,准备写一个关于Go语言的专栏,希望对你有帮助。
这篇稿子算是本系列的一个引子,通过这篇文章你将搭建起Go语言编程的基本环境和一段非常基础的Go语言代码:
Hi,我是sharkChili,是个不断在硬核技术上作死的java coder,是CSDN的博客专家,也是开源项目Java Guide的维护者之一,熟悉Java也会一点Go,偶尔也会在C源码边缘徘徊。写过很多有意思的技术博客,也还在研究并输出技术的路上,希望我的文章对你有帮助,非常欢迎你关注我的公众号:写代码的SharkChili。
搭建Go语言环境
简介
因为笔者是日常开发只用到Windows
和Linux
,所以这里的搭建只涉及这两套操作系统搭建的,整体来说,Go语言的环境搭建步骤和Java差不多,依次为:
- 下载集成开发环境安装包。
- 安装。
- 配置环境变量。
Linux版本安装
首先介绍一下Linux
下的环境配置,首先到go官网下载Linux系统对应的安装包:
截至笔者写下这篇文章,笔者所下载的版本如下所示:
完成下载后将其上传到服务器上,然后进行解压到/usr/local
目录:
bash
tar -C /usr/local/ -xzf go1.22.0.linux-amd64.tar.gz
随后就可以进行环境变量配置,我们通过vim编辑profile
:
bash
vim /etc/profile
在文件末尾添加如下一条我们go的解压路径:
ruby
export PATH=$PATH:/usr/local/go/bin
再使用source
命令使之生效:
bash
source /etc/profile
完成后键入如下命令:
go
go version
如果控制台输出对应版本信息则说明配置生效了:
bash
go version go1.22.0 linux/amd64
Windows环境配置
而Windows配置则相对容易一些,首先我们需要到Go
官网下载Go dev
,地址如下:
笔者选择的版本如下图所示,下载完成后解压安装即可:
安装go编译器
后,它会自动帮我配置环境变量,所以完成安装后我们直接在cmd
输入一下go
,如果可以看到版本信息即说明本次安装成功了:
你的第一行Go语言代码
我们首先创建一个名为main.go
的文件,然后编写如下代码,可以看到笔者指明了package
为main
,因为go语言在运行时,其底层会定位到main
包下的main
方法执行,所以我们创建第一个go文件一定要注意这一点,然后我们导入fmt(format)
包,在main
方法中通过fmt
包的Println
方法输出一段话:
go
package main
import "fmt"
func main() {
fmt.Println("hello sharkChili")
}
完成这个文件的创建之后,我们在Linux系统运行如下指令,对文件进行编译:
go
go build main.go
然后执行编译后的文件:
bash
./main
最终输出结果如下,自此,我们完成了对Go语言第一行代码的编写
hello sharkChili
当然,我们也可以直接编译并运行,用户只需输出run
指令即可:
go
go run main.go
go程序的.gitignore
很其他编程语言一样,Go语言
也有自己的.gitignore文件,读者在学习Go
时如果希望用Git进行版本控制,建议使用笔者推荐的这个版本:
shell
tmp
.env
gohub
.DS_Store
.history
# Golang #
######################
# `go test -c` 生成的二进制文件
*.test
# go coverage 工具
*.out
*.prof
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
# 编译文件 #
###################
*.com
*.class
*.dll
*.exe
*.exe~
*.o
*.so
# 压缩包 #
############
# Git 自带压缩,如果这些压缩包里有代码,建议解压后 commit
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# 日志文件和数据库 #
######################
*.log
*.sqlite
*.db
# 临时文件 #
######################
tmp/
.tmp/
# 系统生成文件 #
######################
.DS_Store
.DS_Store?
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
.TemporaryItems
.fseventsd
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# IDE 和编辑器 #
######################
.idea/
/go_build_*
out/
.vscode/
.vscode/settings.json
*.sublime*
__debug_bin
.project
# 前端工具链 #
######################
.sass-cache/*
node_modules/
小结
本篇文章是笔者对Go
的一个引子,简单的介绍了Go
的环境搭建和基本代码示例,希望本篇文章对你有所收获。
我是sharkchili ,CSDN Java 领域博客专家 ,开源项目---JavaGuide contributor ,我想写一些有意思的东西,希望对你有帮助,如果你想实时收到我写的硬核的文章也欢迎你关注我的公众号:写代码的SharkChili和笔者的交流群进行深入交流。