初识golang

Go语言基础与环境配置指南

环境配置

这里通过debian为例进行介绍go在linux系统下的环境配置

1.下载go的二进制包

# 示例:下载 Go 1.25.1 (请替换为最新版本链接)
wget https://go.dev/dl/go1.25.1.linux-amd64.tar.gz

2.解压安装包到指定的路径

/user/local 这个路径是标准和推荐的安装位置

# 删除可能存在的旧版本
sudo rm -rf /usr/local/go
# 解压新的压缩包
sudo tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz

3.配置环境变量

# 编辑配置文件
nano ~/.bashrc

# 在文件末尾添加以下行
export PATH=$PATH:/usr/local/go/bin

进行保存文件并进行退出。

更新环境便令配置

source ~/.bashrc

4.验证环境的安装

go version
# 预期输出: go version go1.25.1 linux/amd64

出现预期输出的结果就证明go环境已经配置完成啦,可以进行go语言的编程之旅了。

第一个go程序

package main
import "fmt"

func main(){
	fmt.Println("Hello golang")
}

这虽然是最简单的go程序,但也要知其然知其所以然

package关键字

用于声明当前文件属于哪个包,main又是一个特殊的包,只有包的命名为main时,才是告诉go的编译器:请帮我把这个程序编译成一个可执行程序,而不是一个库

  • 对比一下:如果你在写一个可以被其他程序调用的工具库,你可能会把它命名为 package utilspackage mylib。但只有 package main 才能生成一个可以直接运行的文件。

import关键字:

这也是一个关键字,用于 导入(import) 其他包。因为我们不可能把所有功能都写在一个文件里,Go 允许我们导入标准库或者其他人写好的库,来使用它们提供的功能。

"fmt": 这是我们导入的包的名称。fmt 是 Go 标准库(Standard Library) 中的一个包,它的名字是 "format" 的缩写。这个包提供了大量用于格式化输入和输出的功能,比如打印文本到屏幕、从用户那里读取输入等。

在 C++ 语言中,这类似于 #include <iostream>

func关键字:

声明这是一个函数

golang的执行流程

go run 源文件
  • 作用:编译 + 立即执行。

  • 过程

    1. Go 会先把指定的源码编译成一个临时的可执行文件(通常放在系统临时目录中)。

    2. 立刻运行这个临时文件。

    3. 运行结束后,临时文件会被删除。

go build 源文件
  • 作用:编译成可执行文件(或库),但不自动运行

  • 过程

    • 根据源码和依赖生成一个二进制文件,保存在当前目录或 -o 指定位置。

    • 你可以随时手动运行该二进制文件。

  • 适合发布或长期使用。

go的语法注意事项

我本人是比较熟悉C/C+的,这里通过和C++进行类比来记录,建议也通过和比较熟悉的语言来类比来看

  • 源文件是以“go”为扩展名的,就像c++中是以cpp为扩展名一样
  • go源程序的函数结合和C++一样都是以main函数为程序的入口的
  • go语言也是严格区分大小写的
  • go语言各个语句之间是和C++不同的,语句之间是不通过分号来进行结尾的,也就是说go的编译器是通过行来进行判断语句结束的,所以每一行只能有一个语句,否则报错
  • 定义的变量和包如果没有用到,则编译是编不过的,这相对于C++来说可以理解成编译器更严格一些

关于go中的注释

Go支持c语言风格的/**/块注释,也支持c++风格的//行注释。行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码
(1)行注释 //     VSCode快捷键:ctrl+/  再按一次取消注释
(2)块注释(多行注释) /**/        VSCode快捷键:shift+alt+a 再按一次取消注释
         注意:块注释中不可以嵌套块注释


提示:官方推荐使用行注释 //

代码风格

缩进

  • 向后缩进:Tap
  • 向前取消缩进:Shift + Tap
  • 通过gofmt命令进行调整缩进
# 直接修改文件
gofmt -w myfile.go

# 只打印格式化结果到标准输出(不修改文件)
gofmt myfile.go

# 递归格式化当前目录下所有 Go 源文件
gofmt -w .

# 显示和当前文件的差异(diff 模式)
gofmt -d myfile.go

大多数 IDE/编辑器(VS Code、GoLand、Vim 等)保存时自动调用 gofmtgo fmt

在 CI/CD 中也常用 go fmt ./... 来保证代码一致。

运算符

运算符两边通过空格进行间隔

注释

官方是推荐通过 // 来进行注释,上面也有进行介绍过,通过 /**/ 也是可以的

行长约定

一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅

API

文档

Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org

Golang中文网在线标准库文档: https://studygolang.com/pkgdoc

在Linux下go还提供了官方用于进行查看文档的命令

go doc <包名>.<函数名>

文档中对应的函数源码

还是使用 go doc 命令 

这是 Go 官方提供的最直接、最便捷的命令行方式,强烈推荐首选此方法。

go doc 命令不仅可以查看文档,加上 -src 参数后可以直接在终端显示函数的源代码。

步骤:

  1. 打开你的终端。
  2. 使用以下格式的命令:
go doc -src <包名>.<函数名>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值