上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 40 下一页
摘要: 标准库 unsafe 的 Q&A go指针和 unsafe.Pointer有什么区别? 1. go语言的作者ken thompson也是c语言的作者,所以go可以看做c系语言,它的很多特性和c类似, 指针就是其中之一,然而go语言的指针相比c语言的指针又很多限制,当然也是为了安全考虑, 相比于c语言 阅读全文
posted @ 2022-03-11 14:59 专职 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 标准库 context Q&A 参考文档 context如何被取消 1. context.Context讲解 type Context interface { // 返回context是否会被取消,以及自动取消时间 Deadline() (deadline time.Time, ok bool) / 阅读全文
posted @ 2022-03-09 16:04 专职 阅读(192) 评论(0) 推荐(0) 编辑
摘要: interface Q&A Go接口与C++接口有何异同? 1. 接口定义了一种规范,描述了类的行为和功能,而不做具体实现 2. C++定义的接口称为侵入式,而go中的接口为非侵入式,不需要显示声明,只需要实现接口定义的函数,编译器会自动识别 案例 type Animal interface { R 阅读全文
posted @ 2022-03-07 11:07 专职 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 什么是服务注册和发现及技术选型 服务注册和发现 基于配置文件的微服务弊端 当系统并发过高的时候,我们新增加了一个用户服务,那么其它需要调用用户服务的服务都需要重新部署,非常的麻烦,而且容易出错 注册中心 稳定性、一致性、是不是分布式 服务注册与发现流程图 服务注册与发现的技术选型 consul的安装 阅读全文
posted @ 2022-03-07 11:07 专职 阅读(333) 评论(0) 推荐(0) 编辑
摘要: go-redis库的使用 安装go-redis库 go get github.com/go-redis/redis/v8 github链接 创建redis客户端并设置值 // 短信验证码发送成功,将验证码保存到redis rdb := redis.NewClient(&redis.Options{ 阅读全文
posted @ 2022-03-05 19:03 专职 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 下载依赖 go get -u github.com/alibabacloud-go/dysmsapi-20170525/v2 go get -u github.com/alibabacloud-go/darabonba-openapi go get -u github.com/alibabaclou 阅读全文
posted @ 2022-03-05 11:32 专职 阅读(764) 评论(0) 推荐(0) 编辑
摘要: map的Q&A 非常重要的一点:makemap()函数返回的是*hmap, makeslice()函数返回的是slice map是线程安全的吗?(map可以并发写入吗) 1. go语言中内置的map不是并发安全的 2. 大量goroutine并发写入map就会报错:fatal error: conc 阅读全文
posted @ 2022-03-02 17:07 专职 阅读(200) 评论(0) 推荐(0) 编辑
摘要: channel Q&A 什么是CSP? 不要通过共享内存来实现通信,而要通过通信实现共享内存 CSP通常被认为go在并发上成功的关键因素 go一开始就把CSP的思想融入到语言的核心里,所以并发编程称为go的一个独特的优势 大多数编程语言的并发模式是基于线程和内存同步访问控制实现的,Go的并发编程模型 阅读全文
posted @ 2022-03-02 09:28 专职 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 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 专职 阅读(426) 评论(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 专职 阅读(445) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 40 下一页