
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
运行环境:win10,goland2021.2背景:两个go文件都在main包下,在main文件中直接右键运行会报 “command-line-arguments” 错误。原因:main 包中的不同的文件的代码不能相互调用,其他包可以。所以其实work.go没有被一起编译执行。解决办法:鼠标同时选中main包下所有的文件,右键点击运行即可。...
HP团队出的tail库,常用于日志收集地址:https://github.com/hpcloud/tail日常使用时,直接在vscode或者goland拉取即可。示例代码:package mainimport ("fmt""github.com/hpcloud/tail""time")func main() {//指定文件名filename := "./my.log"//配置文件config :=
文章目录生产者-消费者模式其它并发模式生产者-消费者模式生产者消费者模型具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品。基本工作原理生产者线程增加资源数,如果资源数大于最大值则生产者线程挂起等待,当收到消费者线程的通知后继续生产。消费者线程减少资源数,如果资源数为0,则消费者线程挂起,等待生产者通知后继续生产。举
拓扑排序 golang实现文章目录拓扑排序 golang实现定义Kahn算法代码定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。
发现问题在使用命令rotoc --go_out=. person.proto指定proto文件编译输出路径时,遇到了标题中的错误。网上说需要在proto文件中加上:option go_package = "path;name";path 表示生成的go文件的存放地址,会自动生成目录的。name 表示生成的go文件所属的包名比如proto文件在当前目录下,它被声明在example包中,就加上:opt
golang slice传参陷阱文章目录golang slice传参陷阱起因slice的传参slice的扩容回到开始起因package mainfunc SliceRise(s []int){s = append(s, 0)for i := range s {s[i]++}}func main(){s1 := []int{1, 2}s2 := s1s2 = append(s2, 3)SliceRi
文章目录1.值传递2.超时控制3.取消控制1.值传递值传递只是context的一个辅助功能,并不是核心功能。一般我们只用context来传递不影响业务主逻辑的可选数据,比如日志信息、调试信息以及元信息等等。package mainimport ("context""fmt")func readContext(ctx context.Context) {traceId, ok := ctx.Valu
redis 缓存淘汰策略文章目录redis 缓存淘汰策略淘汰策略LRU算法LFU算法淘汰策略noevction:一旦数据被写满了,再有写请求的时候直接返回错误。volatile-ttl:在筛选时,会针对设置了过期时间的键值对,根据过期时间的先后进行删除,越早过期的越先被删除。volatile-random:就像它的名称一样,在设置了过期时间的键值对中,进行随机删除。volatile-lru 会使用
文章目录Docker 容器使用Docker 客户端容器使用获取镜像启动容器启动已停止运行的容器后台运行停止一个容器进入容器导出和导入容器删除容器运行一个 web 应用查看 WEB 应用容器网络端口的快捷方式查看 WEB 应用程序日志检查 WEB 应用程序停止 WEB 应用容器重启WEB应用容器移除WEB应用容器Docker 容器使用Docker 客户端docker 客户端非常简单 ,我们可以直接输
RESTful API设计标准和实践文章目录RESTful API设计标准和实践背景划分调用范围技术选型Go-Micro API网关安装Micro工具安装Micro安装golang的net、crypt、text等库安装micro检验Micro安装成功Micro API工作原理运行Micro api服务反向代理的API服务启动反向代理安装go-restful服务定义和编译服务端实现REST 映射背景







