Ryo's blog

归档 · 2018

首页

关于

归档

GolangLua

Go 执行Lua脚本和JS脚本测试

最近有个需求需要在Go项目里面执行动态脚本,github上有好几个lua执行解释器,但是有很多要不就很久没维护了,要不就没有什么文档,经过几个对比我最后用的是 https://github.com/yuin/gopher-lua。JS解析器用的github.com/robertkrimen/otto。 具体测试代码如下,给有需求的朋友参考。 github地址 package main import ( "fmt" "github.com/robertkrimen/otto" "github.com/yuin/gluamapper" "github.com/yuin/gopher-lua" "time" ) //function add(a, b) //return..

更多
NetProtobufHTPP

测试Protobuf在Http传输测试

Demo:https://github.com/fanlv/ProtobufOnHttpGo 一、编写Proto文件syntax = "proto3"; // 生成go代码 //protoc --go_out=. user.proto // 生成oc代码 //protoc --objc_out=. user.proto package user; message LoginRequest { string username = 1; string password = 2; } message BaseResponse{ int64 code = 1; string msg = 2; } message User{ string uid = 1; string..

更多
DataStructure

二叉树、2-3 树、红黑树

有序数组的优势在于二分查找,链表的优势在于数据项的插入和数据项的删除。但是在有序数组中插入数据就会很慢,同样在链表中查找数据项效率就很低。综合以上情况,二叉树可以利用链表和有序数组的优势,同时可以合并有序数组和链表的优势,二叉树也是一种常用的数据结构。 一、满二叉树一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为 K,且结点总数是(2^k) -1 ,则它就是满二叉树。 二、完全二叉树若设二叉树的深度为 h,除第 h 层外,其它各层 (1 ~ h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 三、二叉查找树二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树..

更多