编程语言
aiyo_
一枚万事皆懂一点的油腻小青年
展开
-
开源词法句法语法解析工具
Github链接地址:https://github.com/aiyojun/GrammarParser感兴趣的给个star,支持一下吧~这个小型开源项目是我自己维护的,里面提供了一些语法解析的解决方案。目前,项目包括:1. 用于解析SQL-Where子句,基于antlr的java语言工具,提供字符串语句到AST(抽象语法树),AST到字符串,AST到mongodb查询语法之间的转换。2. 简单的lex&yacc工具的用法介绍,用于解析条件表达式的,和SQL-Where子句类似。.原创 2022-01-11 11:27:01 · 496 阅读 · 0 评论 -
关于GO语言的结构体和接口使用
GO的结构体与接口go使用结构体来封装基本类型,达到构造复杂数据结构的目的。golang提供了类似于面向对象思想中的var.method()写法,由于不提供class,所以go借助struct和interface来实现这种写法的。从语言的设计层面上讨论,任何的函数,方法或成员函数,都只是一段数据集上的操作。这也是为什么说:计算机程序是由数据结构和算法组成的。一段数据集是指数据结构,函数就是算法。结构体和函数接口在go中都是单独声明的,在实现接口的时候,将数据结构(struct)与接口函数(int原创 2021-10-28 16:44:15 · 569 阅读 · 0 评论 -
golang中的一些重要概念
基础概念1. go语言早期使用GOROOT,GOPATH等环境变量来构建项目2. GOROOT设置为go语言(如/usr/lib/go)的根目录3. GOPATH设置为项目根目录4. 使用GOPATH构建项目时,需要保持project/src,project/bin的目录结构5. go1.11之后引入mod概念,使用go.mod构建项目6. 使用go.mod构建项目时,无需project/src路径;go.mod只放于根路径下;子包使用pkg/subpkg作为包名被引入7. 使用go开发动原创 2021-10-26 14:38:03 · 218 阅读 · 0 评论