千家信息网

如何查看go语法树

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"如何查看go语法树",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何查看go语法树"吧!我们知道,golang 的源码经过词法分析和语法
千家信息网最后更新 2025年01月24日如何查看go语法树

本篇内容主要讲解"如何查看go语法树",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何查看go语法树"吧!

我们知道,golang 的源码经过词法分析和语法分析后,可以得到抽象语法树ast,用户可以遍历抽象语法树实现源码层面的修改。 golang工具集很多都是在语法树的基础上进行的比如go fmt、goimport、go vet等等。

不太熟悉golang或者不太熟悉语法树的同学来说,一颗语法树包含哪些东西?语法树的结构是什么样子?源代码的每一部分如何与语法树相对应,是大家疑问比较密集的地方。于是乎,笔者造了个轮子,可视化的方式展示语法树,一键运行直接在浏览器打开生成的svg格式图片。颜色区分比较重要的语法结构。并且提供图利。

例子:

比如我们要分析下面源码

package main
import ( "fmt" "github.com/xiazemin/golang/ast/ast_graph/exp/multi")
func main() { a:=1 b:=2 fmt.Println(a+b,add(a,b),multi.Multi(a,b),devide(a,b))
}
func devide(i,j int)int { return i/j}

我们可以这么做

package main
import "github.com/xiazemin/golang/ast/ast_graph/gen"
func main() { path := "/Users/didi/goLang/src/github.com/xiazemin/golang/ast/ast_graph/exp/main.go" dpath := "/Users/didi/goLang/src/github.com/xiazemin/golang/ast/ast_graph/" gen.GenSvg(path, dpath, "tree")}

其中path是我们的源码路径,dpath是生成图片路径

到此,相信大家对"如何查看go语法树"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

语法 源码 分析 内容 图片 结构 路径 学习 生成 实用 更深 重要 东西 例子 兴趣 同学 地方 基础 实用性 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 武汉网络安全监察处 武大华科网络安全学院新校区 手机浏览器服务器空间不足怎么办 广东计算机软件开发中专学校 松江区网络软件开发品质保障 odbc连接oracle数据库 网络安全高三学生怎么做演讲稿 人社网络安全活动总结 教师网络技术培训班 h110主板能配服务器内存条么 中外宝网络技术 网络安全 成都决赛 成都鲲鹏系列服务器多少钱 中清龙图网络技术 湖南烟草网络安全信息 网易的游戏怎么那么多服务器 软件开发公司业务介绍 数据库数据修改 越牛网络技术有限公司 网络安全法哪一条规定实名 计算机三级数据库资料百度网盘 中国汽车行业知识数据库 网络安全一等奖手抄报字 网络技术配置路由器的代码 安卓系统基于什么软件开发 网络安全培训 ppt 网易的游戏怎么那么多服务器 怎样维护校园网络安全 mysql每天备份数据库 软件数据库评审主要包括哪些内容
0