02 2022 档案

摘要:package response import ( "fmt" "time" ) type JsonTime time.Time func (j JsonTime) MarshalJSON() ([]byte, error) { // 重写time转换成json之后的格式 var stmp = fm 阅读全文
posted @ 2022-02-20 15:00 专职 阅读(433) 评论(0) 推荐(0) 编辑
摘要:func HandleGrpcErrorToHttp(err error, c *gin.Context) { // 将grpc的code转换成http的状态码 if err != nil { if e, ok := status.FromError(err); ok { switch e.Code 阅读全文
posted @ 2022-02-20 14:16 专职 阅读(454) 评论(0) 推荐(0) 编辑
摘要:关于channel的happened-before有哪些 1. 第 n 个 send 一定 happened before 第 n 个 receive finished,无论是缓冲型还是非缓冲型的 channel。 2. 对于容量为 m 的缓冲型 channel,第 n 个 receive 一定 h 阅读全文
posted @ 2022-02-18 14:08 专职 阅读(106) 评论(0) 推荐(0) 编辑
摘要:channel+goroutine是go并发的大杀器 channel可以用来停止信号(发送信号停止子goroutine的执行) 超时控制(websocket中长时间不活跃的用户可以直接断开链接) 定时任务的执行 解耦生产方和消费方 控制最大并发数量 案例见下面: * channel和goroutin 阅读全文
posted @ 2022-02-18 11:11 专职 阅读(967) 评论(0) 推荐(0) 编辑
摘要:就是说 channel 的发送和接收操作本质上都是 “值的拷贝”,无论是从 sender goroutine 的栈到 chan buf,还是从 chan buf 到 receiver goroutine,或者是直接从 sender goroutine 到 receiver goroutine。 pa 阅读全文
posted @ 2022-02-16 13:53 专职 阅读(89) 评论(0) 推荐(0) 编辑
摘要:克隆项目 git clone --depth 1 https://github.com/nacos-group/nacos-docker.git 切换目录 cd nacos-docker 部署安装 sudo docker-compose -f example/standalone-derby.yam 阅读全文
posted @ 2022-02-15 16:32 专职 阅读(331) 评论(0) 推荐(0) 编辑
摘要:拉取镜像 sudo docker pull consul 启动节点1(server模式) docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name=node1 consul agent -serve 阅读全文
posted @ 2022-02-15 14:53 专职 阅读(1498) 评论(0) 推荐(0) 编辑
摘要:Go Runtime 1. goroutine定义 golang在语言级别支持协程,称之为goroutine; golang标准库提供的所有系统调用操作(包括所有同步I/O操作) 都会让出CPU给其它goroutine, 这让goroutine的切换管理不依赖于系统的线程和进程,也不依赖于CPU的核 阅读全文
posted @ 2022-02-14 16:19 专职 阅读(442) 评论(0) 推荐(0) 编辑
摘要:package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" "os" "path/filepath" ) func main() { router := gin.Default() // 加载指定目录下的所有文件 //route 阅读全文
posted @ 2022-02-12 15:02 专职 阅读(301) 评论(0) 推荐(0) 编辑
摘要:gin中间件详解 package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" "time" ) func main() { r := gin.New() // 使用Logger和Recovery中间件 r.Use(gin.Log 阅读全文
posted @ 2022-02-12 12:19 专职 阅读(506) 评论(0) 推荐(0) 编辑
摘要:安装 go-playground/validator go get github.com/go-playground/validator/v10 代码如下 package main import ( "fmt" "net/http" "reflect" "strings" "github.com/g 阅读全文
posted @ 2022-02-11 20:17 专职 阅读(1237) 评论(0) 推荐(0) 编辑
摘要:go代码 user.proto文件 syntax = "proto3"; option go_package = "./;proto"; message Teacher { string name = 1; repeated string course = 2; } 执行命令生成user.pb.go 阅读全文
posted @ 2022-02-11 14:56 专职 阅读(289) 评论(0) 推荐(0) 编辑
摘要:peewee的安装和入门 安装 pip install peewee peewee底层依赖pymysql,安装pymysql pip install pymysql -i https://pypi.douban.com/simple github源码 peewee官方文档 定义模型类,生成数据表结构 阅读全文
posted @ 2022-02-10 19:37 专职 阅读(629) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示