随笔分类 - Go

Go入门笔记42-json查询
摘要:直接在struct里查询有点难,转成json后使用第三方的库 gojsonq,来查询JSON数据 package main import ( "fmt" gojsonq "github.com/thedevsaddam/gojsonq/v2" ) func main() { const json = 阅读全文
posted @ 2021-09-07 19:07 zhaogaojian 阅读(8) 评论(0) 推荐(0) 编辑
Go入门笔记41-按插入顺序排序Map
摘要:1、项目中用到一个json,需要按序显示,功能不说,不按序显示实在是看着难受,网上有很多方法,但是都只能解决部分问题。 2、之前代码已经做好了,不想做大改动,找到一个扩展库go-ordered-json 3、使用方法 第一步 "encoding/json" 替换成 json "github.com/ 阅读全文
posted @ 2021-09-06 23:32 zhaogaojian 阅读(11) 评论(0) 推荐(0) 编辑
mosquitto绑定多个ip地址端口
摘要:修改mosquitto.conf #listener 1883 192.168.1.2 #listener 1883 127.0.0.1 listener 1883 0.0.0.0 可以用上面两行,也可以直接使用最下面一行。 阅读全文
posted @ 2021-09-06 11:33 zhaogaojian 阅读(95) 评论(0) 推荐(0) 编辑
Ubuntu下安装telnet服务及工具
摘要:1、客户端 apt-get install telnet 2、服务端 sudo apt-get install openbsd-inetd sudo apt-get install telnetd sudo /etc/init.d/openbsd-inetd restart 阅读全文
posted @ 2021-09-06 00:05 zhaogaojian 阅读(8) 评论(0) 推荐(0) 编辑
Go入门笔记40-leveldb相关的库
摘要:1、GoLevelDB https://github.com/syndtr/goleveldb 功能较少,只有Get,Put,Delete,Interator几个功能 使用示例: iter := db.NewIterator(nil, nil) for iter.Next() { key := it 阅读全文
posted @ 2021-09-05 21:31 zhaogaojian 阅读(6) 评论(0) 推荐(0) 编辑
Go入门笔记39-EasyJson
摘要:Ubunut20.04环境 默认go marshal,Unmarshal效率较低,可以使用EasyJson 1、命令行直接输入easyjson会提示apt安装,然后安装 2、创建一个go文件,结构体上标注 //easyjson //easyjson:json type School struct { 阅读全文
posted @ 2021-09-05 21:28 zhaogaojian 阅读(9) 评论(0) 推荐(0) 编辑
Go入门笔记38-Go Benchmark
摘要:1、以测试marshal和for循环为例 2、新建一个文件夹,添加代码 package main_test import ( "encoding/json" "fmt" "testing" ) type A struct { ContentA string `json:"content_a"` Co 阅读全文
posted @ 2021-09-05 13:41 zhaogaojian 阅读(9) 评论(0) 推荐(0) 编辑
Go入门笔记37- 实现enum
摘要:1、示例 // DataType is defined for the different types type DataType byte // for out use const ( KV DataType = iota LIST HASH SET ZSET ) func (d DataType 阅读全文
posted @ 2021-09-04 23:47 zhaogaojian 阅读(6) 评论(0) 推荐(0) 编辑
Go入门笔记36-一个LevelDB的Go封装
摘要:Go LevelDB默认的Get,Put用着很不习惯,稍微封装了下,我的项目结构体比较多,所以默认按value结构体设计,项目中缓存用啥持续纠结,从map->SyncMap->leveldb->ssdb->ledisdb->redis->leveldb研究了一遍,最后还是暂时使用leveldb。 1 阅读全文
posted @ 2021-09-04 17:06 zhaogaojian 阅读(14) 评论(0) 推荐(0) 编辑
Go入门笔记35-Go gin使用
摘要:1、代码 package main import ( "encoding/json" "fmt" "net/http" "github.com/gin-gonic/gin" ) type User struct { ID int `json:"id"` Name string `json:"name 阅读全文
posted @ 2021-09-01 00:01 zhaogaojian 阅读(10) 评论(0) 推荐(0) 编辑
Go入门笔记34-Go 使用Ioctl
摘要:Go获取控制台宽度 1、代码 package main import ( "fmt" "runtime" "syscall" "unsafe" ) const ( TIOCGWINSZ = 0x5413 TIOCGWINSZ_OSX = 1074295912 ) type window struct 阅读全文
posted @ 2021-08-30 20:19 zhaogaojian 阅读(13) 评论(0) 推荐(0) 编辑
解决XShell XFTP传输Go可执行文件导致出错问题
摘要:使用XShell XFtp工具传输Go可执行文件后,文件会出现错误导致运行时出现段错误问题,通过各种方法测试,发现可以这样处理 第二是必须的,这样的话,上传文件就不会有问题了。 阅读全文
posted @ 2021-08-30 14:49 zhaogaojian 阅读(11) 评论(0) 推荐(0) 编辑
Go入门笔记33-Go 交叉编译
摘要:linux交叉编译为arm程序 CGO_ENABLED=0 GOOS=linux GOARCH=arm go build main.go 注意了,上传到arm环境时一定要用rz命令或者先压缩再上传,如果直接用xshell sftp上传的程序会有错误Segmentation fault,原因不明,c、 阅读全文
posted @ 2021-08-30 13:30 zhaogaojian 阅读(8) 评论(0) 推荐(0) 编辑
Go入门笔记32-继承
摘要:1、继承后增加新字段 type Car struct { weight int name string } type Bike struct { Car lunzi int } 不过有个问题是vscode在使用Bike实例对象时,代码自动完成功能会显示一个Car,强迫症不能忍。 2、如果不增加新字段 阅读全文
posted @ 2021-08-27 18:39 zhaogaojian 阅读(13) 评论(0) 推荐(0) 编辑
Go入门笔记31-日期时间格式化
摘要:Go中的日期格式好奇怪,真的就像玩具一样,不过功能也挺强大 package main import ( "fmt" "time" ) func main() { currentTime := time.Now() fmt.Println("Current Time in String: ", cur 阅读全文
posted @ 2021-08-27 00:17 zhaogaojian 阅读(14) 评论(0) 推荐(0) 编辑
Go入门笔记30-Syn.map使用
摘要:程序代码实现了一部分才想起是个多任务项目,需要将之前的map换成线程安全的 1、定义 var testSyncMap sync.Map 2、判断是否存在Key if value, ok := valueMap.Load(key); ok { } 3、存储指定Key,value testSyncMap 阅读全文
posted @ 2021-08-25 23:12 zhaogaojian 阅读(21) 评论(0) 推荐(0) 编辑
Go入门笔记29-Map使用
摘要:1、声明初始化Map var testMap map[string]string testMap = make(map[string]string) 2、判断Map是否有指定键 if _, ok := testMap[key]; ok { } 3、新添或更新指定键元素 testMap[key] = 阅读全文
posted @ 2021-08-25 22:23 zhaogaojian 阅读(6) 评论(0) 推荐(0) 编辑
Go入门笔记28-VSCode Region折叠问题
摘要://#region 主题相关 func test() ..... //#endregion 如上所示,默认#region默认只会折叠第一行,解决办法,修改为Indentation即可 阅读全文
posted @ 2021-08-25 21:45 zhaogaojian 阅读(33) 评论(0) 推荐(0) 编辑
--only-same-user Only connections from the same user
摘要:在使用Go在Ubuntu子系统环境下调试时提示如题错误,最终没有完全找到原因,尝试卸载子系统,又从WSL1升到WSL2问题没再出现。 阅读全文
posted @ 2021-08-24 22:02 zhaogaojian 阅读(12) 评论(0) 推荐(0) 编辑
Go入门笔记27-正则表达式使用
摘要:1、半年不用正则,又忘记差不多了,调试工具都忘记咋用了,从新记录一下 匹配正则使用方法 2、Go使用匹配正则 //获取Topic类型 func GetTopicType(topic string, matchstr string) (bool, string) { regexpStr := rege 阅读全文
posted @ 2021-08-24 18:40 zhaogaojian 阅读(7) 评论(0) 推荐(0) 编辑