前言
涉猎 Go 浸透测试齐全算是出于一种趣味吧,于是就从 BHG(Black Hat Go)开始学习了。
Go 语言根底
对于 Go 的入门,因为我也是初学者的缘故,所以是跟着 tour.go 一步一步来学的。就我的感触而言,这个官网的入门指南非常敌对,当然,这可能只是我井底之蛙的想法,所以就不做强烈推荐了,仅仅是当作摘录,对 Go 的学习做一些简略的笔记就好。
(本文就不做什么环境配置教程了,感觉 Google、Baidu 都是,详略切当,不缺我水的这么一段文字。)
Go 命令
编译
go run // 编译并运行,然而不生成二进制文件
go build // 编译应用程序,包含所有的包及其依赖项,毋庸进行装置
穿插编译
GOOS="linux" GOARCH="amd64" go build hello.go
查问文档
go doc
获取第三方包
go get // 门路和导入的包名称的构建形式,防止将雷同的名称调配给多个包
主动格式化源代码
go fmt
报告款式谬误
go vet
包
咱们依照常规,从 helloworld 动手
示例:hello.go
package main
import "fmt"
func main() {fmt.Println("Hello World!")
}
以上就是一个 Go 版本的 HelloWorld
Go 程序的后缀为.go, 每个 Go 程序由包形成,程序从 main 包开始运行
函数
函数格局
func func_name(parameterA type) type {...}
命名返回值
Go 的返回值可被命名,被视作定义在函数顶部的变量
返回值的名称该当具备肯定的意义,能够作为文档被应用
没有参数的 return 语句返回已命名的返回值
倡议返回语句应用在短函数中,防止影响代码的可读性
省略内容
因为 Go 的语言根底内容较多,我不便在这里班门弄斧,对于学习更有用的应该是间接到 tour of Go 走一遍指南,会学习到更多