go
文章平均质量分 95
辣辣的鱼~~
这个作者很懒,什么都没留下…
展开
-
在k8s里面部署自己的go web服务
我们的目标今天,试一下在k8s里面跑自己编写的go web服务。1、编写可运行的go服务首先,第一步当然是写一个简单的go服务,这里简单写了一个http的服务。package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/", hello) server := &http.Server{ Addr: ":8888", } fmt.P.原创 2020-11-01 12:13:28 · 1169 阅读 · 0 评论 -
Goland等IDE工具加文件头注释
一、效果展示在网上看到一些教程的时候,看到作者经常创建一个新的文件的时候,会自动在文件头部加上文件头,如下图所示。二、如何操作那么这个自动创建注释文件头是如何做到的呢,IDE的全家桶都可以做这个设置,具体路径为File -> Setting -> Editor -> File and Code Templates -> Go File(选择你需要加文件头的文件扩展名)-> 写模板 -> 搞定!三、分步操作截图3.1 File-> Setting3.原创 2020-05-24 17:59:24 · 1118 阅读 · 0 评论 -
consul kv迁移
consul kv迁移一、写在前面二、consul kv的简单介绍三、consul导出kv到json文件四、替换的需求一、写在前面说到consul,很多人会说这是一个可以用于注册服务发现的工具,当然了,consul除了常用的注册服务发现,还可以用来当key-value数据库。这篇文章主要介绍一下consul 键值对数据库迁移。简单来说,当你在测试环境用到了consul的键值数据库存储,当你需要...原创 2019-10-27 18:24:48 · 2507 阅读 · 1 评论 -
go channel源码
今天在【Go夜读#Channel】的视频,感觉这个视频很长,两个小时,然后比较模糊,听不明白,可能是自己读源码的基础不够吧。不过前面的可视化版本还是不错的把hchan的属性可视化到下面这种,看起来就很好理解后面读源码的第二部分就看得云里雾里了,只好去网上找其他博客来看,下面这篇还不错http://legendtkl.com/2017/08/06/golang-channel-imp...原创 2019-09-19 12:15:10 · 9097 阅读 · 0 评论 -
go的信号量semaphore
今天学习了go的信号量semaphore,因为之前学习过操作系统的pv操作,所以看这个东西,没有什么很难的地方简单的记录一些学习笔记:1、TryAcquire 和 Acquire 分别是不等待和等待2、一开始看视频,以为collatzSteps是一个必须的东西,看不懂,后面理解了才知道,只是用这个模拟平时编程的任务而已,并不用太在意,这个函数是当奇数的时候,乘3+1;当是偶数的时候,除...原创 2019-09-18 10:05:59 · 2024 阅读 · 0 评论 -
go1.13特性 errors改动 Is()函数
看了go的doc,对包装wrap不是很理解,看了一上午,原来不是设计模式的那种包装模式,而是fmt.Errorf的包装打了一小段理解的代码如下:package mainimport ( "errors" "fmt")type UserNotFoundErr struct {}func (e UserNotFoundErr) Error() string { retu...原创 2019-09-16 12:04:16 · 2552 阅读 · 0 评论 -
mongo-go没有找到数据的返回
今天偶然间发现,使用go的第三方包调用mongo1、如果是One()找一条记录的话,如果找不到,回返回ErrNotFound这个错误2、但是如果是All()的话,找很多条记录,就算找不到,也不会返回任何错误验证代码如下:package mainimport ( "fmt" "github.com/globalsign/mgo" "github.com/globalsig...原创 2019-09-11 22:28:14 · 944 阅读 · 0 评论 -
golang err错误码的细分
package mainimport ( "fmt")type UpdateNotingErr struct { error Code int}func main(){ e:=returnErr() v:=e.(*UpdateNotingErr) fmt.Println(v.Code)}func returnErr()error{ return &Up...原创 2019-08-01 06:11:04 · 1474 阅读 · 0 评论 -
图最小路程
package mainimport ( "fmt")func main(){ var n int fmt.Scan(&n) var arr [][]int //二维数组初始化 for i := 0; i < n+1; i++ { tmp := make([]int, n+1) arr = append(arr, tmp) } var a int...原创 2019-07-31 05:55:26 · 155 阅读 · 0 评论 -
gorm不同数据库跑事务
func (d *MySqlDao)Tran(v int){ t:=d.db.Begin() s:=t.Exec("insert into sharing.collections values(?,?);",v,v) s.Exec("insert into promoter.anchors values(?,?);",v,v) t.Commit()}之前以为gorm连接到时...原创 2019-08-03 09:26:53 · 2126 阅读 · 0 评论 -
go的标准输入输出
好久没有刷算法题了,感觉自己的算法能力都退步了最近想用go刷一些算法题,首先要学的就是go怎么与标准输入输出啦package mainimport "fmt"func main(){ var a int var b string fmt.Scan(&a) fmt.Scan(&b) fmt.Print("a=",a) fmt.Print("b=",b)...原创 2019-07-30 00:12:42 · 699 阅读 · 0 评论 -
go的sync.Map
今天在写代码的时候,发现了一个bug,查到最后居然是go的sync.Map的key是有判断类型的下面的a是uint32类型,然后硬编码的1是int类型,因为类型不一样,所以输出的值是nil记录一下...原创 2019-06-10 23:42:58 · 146 阅读 · 0 评论 -
go http server graceful exit
今天做了一个go语音的http server优雅退出的测试实验package mainimport ( "context" "fmt" "log" "net/http" "os" "os/signal" "syscall" "time")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r...原创 2019-04-16 11:32:24 · 283 阅读 · 0 评论 -
go stack trace 学习笔记
今年学习了一下 go stack,就是怎么看go panic 之后打印的堆栈信息学习的网址:https://www.ardanlabs.com/blog/2015/01/stack-traces-in-go.html归纳总结几点我觉得有用的:1. go stack 打印的函数参数地址和真正的函数声明的参数不是一一对应的2. 对于int, 或者bool这些,只用一个字节3. 对于...原创 2019-04-08 20:35:31 · 259 阅读 · 0 评论 -
调用百度“车牌识别”API接口(go语言实现)
调用百度的api识别车牌,没有GPU的机器,也没有大量的有标注的车牌数据,所以就只好拿别人现成的车牌识别api接口具体的识别原理就不说了,只是调别人的接口而已,具体的调用文档百度已经给出:http://ai.baidu.com/docs#/OCR-API/5116ac95但是我看文档里面好像没有一个是用go调用的例子,所以就自己写了一个go调用的,发http请求到具体的api上获...原创 2019-03-31 11:38:34 · 2306 阅读 · 1 评论 -
自己搭建docker bridge network
一、写在前面最近在看docker,觉得docker重点就是在做隔离,隔离网络,隔离文件系统,隔离进程,这就是docker集装箱的比喻的来源吧。对docker网络比较感兴趣,所以想着自己用linux 的虚拟网络设备模拟一下docker的网络隔离,参考了网上许多优秀的文章,具体实现的时候碰到了不少问题,比如iptables防火墙的问题、DNS的问题,最后都解决了,现把整个过程记录如下(可以先看...原创 2018-12-20 17:23:19 · 2085 阅读 · 0 评论