golang
文章平均质量分 78
xxx_undefined
这个作者很懒,什么都没留下…
展开
-
go调用python3:go-python3包的使用
参考资料:https://zhuanlan.zhihu.com/p/150253406https://blog.csdn.net/skyztttt/article/details/8115086https://poweruser.blog/embedding-python-in-go-338c0399f3d5包地址:python2:https://github.com/sbinet/go-pythonpython3:https://github.com/DataDog/go-python3.原创 2021-10-06 23:10:15 · 9989 阅读 · 5 评论 -
Go语言基础重点整理(配套视频课与pdf原文笔记)-1
一、尚硅谷Go语言教程PDF阅读:http://xwjpics.gumptlu.work/%E5%B0%9A%E7%A1%85%E8%B0%B7_%E9%9F%A9%E9%A1%BA%E5%B9%B3_Go%E8%AF%AD%E8%A8%80%E6%A0%B8%E5%BF%83%E7%BC%96%E7%A8%8B.pdf二、go基础重点总结1. 环境变量配置2. Golang 执行流程分析如果是对源码编译后,再执行,Go 的执行流程如下图如果我们是对源码直接执行go run 源码,原创 2020-11-22 19:35:00 · 2373 阅读 · 0 评论 -
golang操作Redis数据库
一、基本介绍二、Redis的安装Redis不推荐在Windows上使用,所以官网没有Windows版本https://redis.com.cn/download.html下载, 解压和编译 Redis 方法:$ wget https://download.redis.io/releases/redis-6.0.8.tar.gz$ tar xzf redis-6.0.8.tar.gz$ cd redis-6.0.8$ make编译好的二进制文件在 src 目录里。启动 Redis:$原创 2020-12-19 17:36:30 · 1702 阅读 · 1 评论 -
Go语言进阶重点-2
三、Go进阶总结1. goroutine1.1 进程与线程:1.2 并发与并行多线程程序在单核上运行,就是并发多线程程序在多核上运行,就是并行1.3 Go协程(goroutine)和Go主线程Go 主线程(有程序员直接称为线程/也可以理解成进程): 一个Go 线程上,可以起多个协程,可以这样理解,协程是轻量级的线程[编译器做优化]。理解: Go主线程 类比于 进程 Go协程 类比于 优化后的线程Go 协程的特点:有独立的栈空间共享程序堆空间调度由用户控制原创 2020-12-19 17:41:01 · 790 阅读 · 1 评论 -
golang密码学-1-理论
一、学习目录Hash算法DES、3DES、AES对称加密RSA非对称加密算法RSA数字签名算法椭圆曲线加密算法ECC椭圆曲线数字签名算法ECDSA椭圆曲线secp256k1算法编码解码算法(base64、base58)参考网站http://tools.jb51.net/codehttp://www.fileformat.info/tool/hash.htm二、密码学家族介绍2.1 分类不可逆的哈希算法加密解密算法可逆,但是必须要有密钥编码解码算法可逆,不需要密钥2原创 2020-12-23 21:52:27 · 508 阅读 · 0 评论 -
Goland使用go_module模式下的包引用配置以及本地包不识别问题
Goland IDEgoland无法识别go mod的依赖包解决方法: 在编辑器设置GOPROXY, 这样goland就会识别索引你项目使用go mod在GOPATH/pkg/mod文件夹下的依赖包使用go mod模式导致本地包无法导入问题因为使用go module进行包管理, 所以引用包路径不再是从GOPATH/src开始的相对位置查看你项目下的go.mod文件第一行的modul名就是你本地原始包的前缀名修改项目中的引用即可import "github.com/user/原创 2021-03-06 17:15:48 · 5903 阅读 · 1 评论 -
mqtt协议与go语言实现
学习资料:https://studygolang.com/articles/14452https://blog.csdn.net/jacky128256/article/details/105610456一、什么是MQTTMQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以.原创 2021-07-14 00:24:13 · 2452 阅读 · 1 评论 -
P2P网络编程-1-从分布式Hash表到LibP2P包的基本概念与使用
学习资料来源:https://zhuanlan.zhihu.com/p/49062384https://colobu.com/2018/03/26/distributed-hash-table/libp2p官方文档本篇文章涵盖内容:分布式Hash表、Kademlia算法Libp2p的基本、核心概念Libp2p的一个简单使用流程(手动编写ping协议实现)基本的主机配置一、基本概念万事万物都要从其概念学起…1.1 前置概念分布式Hash表查表式与计算式关于分布式多节点情景.原创 2021-07-18 15:57:26 · 2257 阅读 · 1 评论 -
P2P网络编程-2-案例实践:P2P聊天应用
文章目录一、初代版本1.1 简介1.2 代码与解析1.3 测试运行二、节点发现2.1 简介2.2 代码与解析2.3 测试运行三、总结3.1 libp2p节点发现构建流程3.2 libp2p中地址的转换关系上一节学习了IPFS项目中P2P网络的构建工具libp2p的基本概念以及简单案例接下来通过官方的聊天案例进一步了解该项目的使用项目地址: https://github.com/libp2p/go-libp2p/tree/master/examples我们从初代版本(手动发送接收)p2p聊天到具有节原创 2021-09-07 10:20:03 · 2807 阅读 · 0 评论 -
go语言gob序列化指针无法寻址报错
一、错误描述使用gob序列化时出现报错:gob: unaddressable value of type *big.Float场景:序列化一个数据结构中包含了一个map字段,其中value为big.Float这种结构体类型type SideBlock { ... Varphi map[string]big.Float ...}// 序列化func (b *SideBlock) Serialization() []byte { var res bytes.Buffer enc原创 2021-09-11 16:14:52 · 524 阅读 · 0 评论 -
P2P网络编程-3-案例实践:PubSub
libp2p网络通信中还有一种方式就是PubSub模式,也称订阅发布的模式,官方给出了订阅发布模式的一个案例=> 聊天室在此学习记录一下官方代码地址:https://github.com/libp2p/go-libp2p/tree/master/examples/pubsub一、效果演示二、代码理解2.1 总体框架总的来说代码构成由这五个步骤:1~2两步较为简单不再赘述, 下面几点分点描述2.2 创建mDNS节点发现服务注意,使用mDNS作为节点发现需要保证所有的节点在同一个局原创 2021-09-26 14:52:54 · 8667 阅读 · 0 评论 -
go项目cli与配置文件:cobra与viper项目
参考资料:https://github.com/spf13/cobrahttps://github.com/spf13/viperhttps://github.com/spf13/cobra/blob/master/user_guide.md作者spf13有两个明星项目—cobra & viper (眼睛蛇与蝮蛇)能够帮助我们的go项目添加cmd应用以及读取初始的配置文件,并且两者还可以高效配合使用。本文就记录了一下这两个项目的基本使用方式(也是个人使用的记录),方.原创 2021-10-07 21:26:07 · 3153 阅读 · 0 评论 -
go-zero框架的学习-短链服务
https://go-zero.dev/cn/https://github.com/zeromicro/zero-doc/blob/main/doc/shorturl.md记录重点和难点文章目录一、短链服务1. 准备工作2. 编写API Gateway代码3. 编写 transform rpc 服务4. 修改 API Gateway 代码调用 transform rpc 服务5. 定义数据库表结构,并生成 CRUD+cache 代码6. 修改 shorten/expand rpc 代码调用 ..原创 2022-03-04 11:08:21 · 1723 阅读 · 1 评论