![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 78
一个简单的IT人
雪深
展开
-
GO 汇编学习笔记(五)
GO 汇编学习笔记(五) 程序主要有顺序、分支和循环几种执行流程。本节主要讨论如何将Go语言的控制流比较直观地转译为汇编程序,或者说如何以汇编思维来编写Go语言代码。 顺序执行 顺序执行时常见的工作模式,所有不含分支,循环、goto语句,并且没有递归调用的Go函数,一般都是顺序执行的。 func main() { var a = 10 println(a) var b = (a+a)*a println(b) } TEXT ·main(SB), $24-0原创 2021-06-08 17:45:22 · 412 阅读 · 0 评论 -
GO 汇编学习笔记(四)
GO 汇编学习笔记(四) 函数中的局部变量 从Go语言函数角度讲,局部变量是函数内明确定义的变量,同时也包含函数的参数和返回值变量。但是从Go汇编角度看,局部变量是指函数运行时,在当前函数栈帧所对应的内存内的变量,不包含函数的参数和返回值(因为访问方式有差异)。函数栈帧的空间主要由函数参数和返回值、局部变量和被调用其它函数的参数和返回值空间组成。为了便于理解,我们可以将汇编函数的局部变量类比为Go语言函数中显式定义的变量,不包含参数和返回值部分。 为了便于访问局部变量,Go汇编语言引入了伪SP寄原创 2021-06-08 17:43:50 · 243 阅读 · 0 评论 -
GO 汇编学习笔记(三)
GO 汇编学习笔记(三) 函数概念 因为Go汇编语言中,可以也建议通过Go语言来定义全局变量,那么剩下的也就是函数了。只有掌握了汇编函数的基本用法,才能真正算是Go汇编语言入门。本章将简单讨论Go汇编中函数的定义和用法。 基本语法 函数标识符通过TEXT汇编指令定义,表示该函数存储在TEXT内存段,TEXT语句后的指令对应函数的实现。 TEXT 本身不关心后面十分有指令,因此TEXT和LABEL定义的符号是类似的,区别只是LABEL是用于跳转标号,但是本质上他们都是通过标识符映射一个内存原创 2021-06-08 17:42:58 · 329 阅读 · 0 评论 -
GO 汇编学习笔记(二)
GO 汇编学习笔记(二) GO 汇编学习笔记(一) GO 汇编学习笔记(二) GO 汇编学习笔记(三) 常量 程序中一切变量的初始化都直接或间接的依赖常量或者常量表达式生成,GO中很多是默认0初始化的,但是GO汇编中定义的变量最好还是手工通过常量初始化,有了常量就可以全局变量,并且使用常量组成的表达式初始化其它变量。 Go中常量通过$符号为前缀,常量的类型有整数、浮点、字符、字符串集中类型 $1 // 十进制 $0xf4f8fcff // 十六进制 $1.5原创 2021-06-08 17:42:01 · 656 阅读 · 0 评论 -
GO 汇编学习笔记(一)
GO 汇编学习笔记(一) GO 汇编学习笔记(一) 为什么要学习GO汇编 对于一个严肃的GO语言开发者,GO汇编都是不可忽视的技术,了解了GO的汇编可以帮助你更好的理解计算机原理,也更容易理解GO语言的动态栈等高级特性。本文参考 http://books.studygolang.com/advanced-go-programming-book/ch3-asm 但是里面部分示例有错误,无法编译通过;本文都用以修改 简单入门 GO汇编并不是独立的语言,GO汇编无法被独立使用,原创 2021-06-08 17:40:41 · 306 阅读 · 0 评论 -
Colly 学习笔记(二)——爬虫框架,抓取下载数据(上证A股数据下载)
Colly 学习笔记(二)——爬虫框架,抓取下载数据 Colly 学习笔记(一)——爬虫框架,抓取中金公司行业市盈率数据 Colly 学习笔记(二)——爬虫框架,抓取下载 上一讲是简单说明了网页数据抓取,通过一个简单的爬虫,掌握简单的数据抓取,但是实际情况常出现网页只提供下载,页面没有数据的情况(如图),此时直接用colly抓取数据即可。 遇到这种提供下载的数据,colly可以直接下载。 首先查看列表网页结构,如下图所示 #原始的获取链接 #A股 http://query.sse.com.cn原创 2020-12-29 16:42:13 · 783 阅读 · 0 评论 -
Colly 爬虫学习笔记(一)——爬虫框架,抓取中金公司行业市盈率数据
Colly 学习笔记(一)——爬虫框架,抓取中金公司行业市盈率数据 Colly 主体类是 Collector类,Collector管理网络通信,当Collector的任务运行时也负责执行注册的回调函数。 初始化过程如下: c:=colly.NewCollector() 你可以注册不同的回调函数,通过Collector来控制任务或检索信息。 c.OnRequest(func(r *colly.Request) { //在Request请求之前调用 fmt.Println("Visit原创 2020-12-24 10:17:38 · 1038 阅读 · 0 评论 -
Go日志系统
Go日志系统 logrus作为go开发的日志系统; 建议采用 log.WithFields 方法以json形式生成日志文件,这样方便ELK日志系统抓取和分析日志。 package seedlog import ( "encoding/json" log "github.com/sirupsen/logrus" ) const SEED_LOG_VERSION = "1.0.0.0" type SeedLog struct { //FileName string `json:"FileNa原创 2020-10-12 15:55:06 · 188 阅读 · 0 评论