带你十天轻松搞定 Go 微服务系列(一)
本文开始,我们会出一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下:环境搭建(本文)服务拆分用户服务产品服务订单服务支付服务RPC 服务 Auth 验证服务监控链路追踪分布式事务期望通过本系列带你在本机利用 Docker 环境利用 go-zero 快速开发...
go sync.Mutex 设计思想与演化过程 (一)
go语言在云计算时代将会如日中天,还抱着.NET不放的人将会被淘汰。学习go语言和.NET完全不一样,它有非常简单的runtime 和 类库。最好的办法就是将整个源代码读一遍,这是我见过最简洁的系统类库。读了之后,你会真正体会到C#的面向对象的表达方式是有问题的,继承并不是必要的东西。相同的问题,在...
go-cqhttp 机器人使用教程
API | go-cqhttp 帮助中心 参考 | go-cqhttp 帮助中心 机器人下载 发送消息 http://127.0.0.1:5700/send_msg?message_type=private&user_id=911412667&message=你好呀 检查端口是否打开...
Go 编译原理实现计算器(测试驱动讲解)
本文不需要你掌握任何编译原理的知识。 只需要看懂简单的golang语言即可, 完整的代码示例在GIT, 代码是从writing an interpreter in go这本书抽取了简单的部分出来, 如果需要进一步了解,请详阅此书.听到编译原理,就觉得很高大上。记得上大学时,这门课要记忆一些BNF,...
spannerlib优雅的go异常处理
蹩脚的go 异常处理一般写go的人,如果他不是写算法,正常写业务代码的话,可能都会为优雅的异常处理而烦恼,因为脑子抽筋的go设计者们,总是感觉语法糖是一种很低级的东西。但是在我们大多数公司的业务逻辑中,没有语法糖让代码非常丑陋,不易于维护。如何让go 代码更具有可读性,哪么就要给go加糖!引入spa...
GO语言基础
Go语言开发一、Linux下搭建Go开发环境首先下载Go语言的开发安装包,不管是在官方网站或者国内的Golang镜像都是可以的,注意区分64位和32位的安装包。下载完安装包之后tar zxvf进行解压。利用命令mv go /usr/src/go,把解压后的go目录移动到执行的目录。这样就在/usr/...
探索Go语言中最强的ORM框架-GORM的关键特性
在深入了解GORM之前,先来看一看它的一些关键特性: 全功能的ORM:支持几乎所有的ORM功能,包括模型定义、基本的CRUD操作、复杂查询、关联处理等。关联支持:非常灵活的关联(has one, has many, belongs to, many to many, polymorphism, s...
go语言context
context在服务端编程基本都贯穿所有, Context 是请求的上下文信息。对于RPC Server来说,一般每接收一个新的请求,会产生一个新的Context,在进行内部的函数调用的时候,通过传递Context,可以让不同的函数、协程保持相同的上下文信息,以达到数据传递、流程控制的目的。 Con...
Go学习——go+channel实战(转)
转载:http://studygolang.com/articles/2423背景在最近开发的项目中,后端需要编写许多提供HTTP接口的API,另外技术选型相对宽松,因此选择Golang + Beego框架进行开发。之所以选择Golang,主要是考虑到开发的模块,都需要接受瞬时大并发、请求需要经历多...
go语言视频教程和电子书下载
golang视频教程:https://noxue.com/p/399809259943301go语言 pdf电子书:Design Pattern In Go[go语言设计模式].pdfGo Programming Blueprints - Mat Ryer - 2015 (1).pdfGo in P...
go | defer、panic、recover
刷一道题, 将当函数触发panic 之后,函数是怎么执行的 然后我去找相关博客,发现这篇讲的蛮好的 接下来我直接上demo ,然后通过demo 来逐个分析 package mainimport ("fmt")func f() {defer func() {if r := recover(...
牛客NC357 矩阵第K小【中等 堆 Java、Go、PHP】-参考答案PHP
<?php/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型二维数组 * @param k int整型 * @return int整型 */function KthinMatrix( $matrix ...
go的实践
文章目录 用goroutine来替代mq做异步的应用心跳contenx的超时设置定时器break label核心代码 用goroutine来替代mq做异步的应用 方法在创建ai任务接口中用协程的方式异步调用go s.handleResultPolling(ctx, algorithm, t...
Go语言系列(三)- 基础函数和流程控制
一、strings和strconv的使用1. strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 。2. strings.HasSuffix(s string, suffix string) bool:判断字符串s是否以...
go 学习 ---golang命令
1、GO命令一览GO提供了很多命令,包括打包、格式化代码、文档生成、下载第三方包等等诸多功能,我们可以通过在控制台下执行 go 来查看内置的所有命令下面来逐个介绍,也可以详细参考 https://github.com/hyper-carrot/go_command_tutorial2、go buil...
Go语言第一篇-变量与常量:峡谷中的英雄与装备-3.本文所有代码
package mainimport ("fmt""reflect")// 虞姬的基本信息var (name string = "虞姬"attack int = 165hp int = 2977mana int = 440)func main() {// 鲁班七号...
利用U盘制作Win To Go
准备工作:一个快速稳定的U盘,容量不小于32G且读写速度不宜过慢。推荐闪迪,三星。下载win to go制作工具和Windows企业版镜像插入U盘,做好U盘备份。打...
Pokémon Go呼应设计:让全世界玩家疯狂沉迷
引言:什么样的呼应设计会让移动游戏玩家沉迷?那必须为玩家构建一个属于玩家本人或者被玩家认可的虚拟环境。或者说是被玩家认可的虚拟世界。在移动游戏时代。想要做到这一点并不easy。但Pokémon Go却做到了。它让全世界玩家为其疯狂,那它是怎样做到这一点的呢? 本文选自《产品为王:移动游戏产品设计规则...
top_channel_args.go
package http_apiimport ( "fmt" "log" "net" "net/http" "strings" "github.com/nsqio/nsq/internal/app")type logWriter struct { app.L...
95.Go设计优雅的错误处理(带堆栈信息)
在之前的两篇文章中,我们已经介绍过错误的一些优雅处理75.错误码设计、实现统一异常处理和封装统一返回结果88.Go设计优雅的错误处理 本文想继续写一篇,可以作为工具包直接使用。也是记录一种新的思路和编码技巧,同时创建错误的时候会自动打印日志,还能提供堆栈信息。 目标 避免所有错误前都需要手动打印日志...