零:学习go的思路(不限于go,也可以是其他任何一门新兴语言):
--找到这个语言的官方发布网站,一切以官方为准
--不管三七二十一先hello world再说
--编辑代码并运行(这需要自己掌握几个命令)||找个顺手的工具(包括开发工具,如goland-替我build和run||调试工具)
--学习语法:程序实体(常量/变量/结构体/接口/函数)&& 这些实体的定义和使用&&使用的操作符&&语法&&签名
--学习包:关注包的功能,以及如何使用
--学习go命令:性能调优啦调用c啦trace啦之类的
下面是从官网上总结下来的一些自带命令||编辑工具||调试方法
一:go自带了一些命令:可以用go命令获取,编译安装 包、命令,运行测试
可以命令行模式下输入 go 再回车,就会看到如下工具
下面按照命令名称和按照主题两种方式,分别介绍这些自带的命令,在go中也可以通过go help 主题名/命令名 查看使用详情
1.按照命令名称介绍
用法:go <command> [arguments]
command,种类如下:
bug:启动bug报告
build:编译包和依赖
clean:删除对象和缓存
doc:为包和符号生成文档
env:打印go环境变量
fix:用新的API更新包
fmt:格式化go的包的源码
generate:通过处理源代码生成go文件??VS doc
get:下载并安装包和依赖
install:编译并安装包和依赖
list:列出来包或者模块
mod:模块维护
run:编译运行go程序
test:测试包
tool:运行指定的go工具,工具包括:addr2line//api//asm//cgo//compile//cover//dist//doc//fix//link//nm//objdump//pack//pprof//tour//trace//vet
version:打印go的版本
vet:报告包中可能的错误
使用 go help <command> 可以看到命令的信息
2.按照主题介绍:
buildmode:各种编译方式,是go build 和go install 时候使用的参数说明,对编译方式进行限制
c :介绍go互相调用c的方式,也就是 go tool 命令后面的参数cgo
cache build and test caching
environment environment variables
filetype file types
go.mod the go.mod file
gopath GOPATH environment variable
gopath-get legacy GOPATH go get
goproxy module proxy protocol
importpath import path syntax
modules modules, module versions, and more
module-get module-aware go get
packages package lists and patterns
testflag testing flags
testfunc testing functions
Use "go help <topic>" for more information about that topic.
二:go的编辑工具:
vim: vim-go插件提供go语言支持
Visual Studio Code: 这个工具的Go扩展提供了对Go编程语言的支持
GoLand:可以作为一个intelli的插件,或者独立作为,go开发工具
Atom: Go-Plus是一个包,增强“Go”支持
三:go的调试方式:
1.Profiling:分析cpu/heap/threadcreat/goroutine/mutex使用情况,由runtime/pprof提供,见本文档tool介绍
2.Tracing:跟踪分析调用栈,由net/trace包提供,见本文档tool
3.Debugging:debug工具Delve和GDB,跟踪程序流
4.Runtime statistics and events:统计运行时的数据和时间
4.1Execution tracer
4.2GODEBUG
linux下安装golang:此处是 https://studygolang.com/dl
Linux 下编辑文件:
/etc/profile (对系统所有用户有效); $HOME/.profile (仅对当前用户有效)
设置:
$GOPATH:用户的工作目录,其下有src bin pkg;此为全局工作目录
$GOROOT:go的解压路径,其下有src bin等;此为go语言工具链目录
$GOBIN 编译的二进制文件存放位置,如果无特殊需求不用单独设置$GOBIN
export GOROOT=$HOME/go/goroot/go
export GOPATH=$HOME/go/goCode
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
完成设置后通过指令source .profile来使环境变量生效。
通过go env命令来查看Golang环境变量。系统的变量效果可以通过命令env来查看。