类型整数类型浮点数字符型Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。普通字符串就是一串固定长度的字符连接起来的字符序列。也 就是说对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的。Go的字符用单引号表示,Go的字符串用双引号表示var c1 byte = 'a' var c2 byte ......
526
0
0
2022-07-15
参考资料实战Go内存泄露Hi, 使用多年的go pprof检查内存泄漏的方法居然是错的如何使用pprof见之前的文章使用pprof进行性能分析分析内存泄漏示例代码:// 内存泄漏的例子 package main import ( "net/http" _ "net/http/pprof" "time" ) fu ......
447
0
0
2022-07-15
变量声明变量 //一次性声明多个变量,int默认值 var n1, n2, n3 int 定义变量一次定义一个 var num = 10 一次定义多个 var num, num1 = 10, 11 标准变量写法在Go中变量声明的基本格式为:var 变量名 类型 = 值 ,例如:// 声明一个字符串类型的变量name,值为 "董雷",是不是 ......
389
0
0
2022-07-14
最近的微服务用到了mongodb,所以先了解go对于mongo的CRUD查找import "go.mongodb.org/mongo-driver/mongo" // 通过用户id查找 func (this *User) FindOneById(user_id int64) (*User, error) { err := this.db.F ......
399
0
0
2022-07-14
命令goctl api go -api shorturl.api -dir . 生成目录结构luwei@luweideMacBook-Pro-2 api % goctl api go -api shorturl.api -dir .Done.luwei@luweideMacBook-Pro-2 api % tree├── etc│ └── shorturl ......
348
0
0
2022-07-14
protobuf和json/xml的区别Protocol Buffer 和 XML、JSON一样都是结构数据序列化的工具,但它们的数据格式有比较大的区别:首先,Protocol Buffer 序列化之后得到的数据不是可读的字符串,而是二进制流其次,XML 和 JSON 格式的数据信息都包含在了序列化之后的数据中,不需要任何其它信息就能还原序列化之后的数据;但 ......
551
0
0
2022-07-13
rpc原理很简单,客户端把请求方法,参数等信息编码后传给服务端,服务端反解码后,找到对应的方法执行,并且把结果编码后返回给客户端。服务端重要结构type Server struct { serviceMap sync.Map // map[string]*service 注册的服务存放 reqLock sync.Mutex // pro ......
384
0
0
2022-07-13
匿名函数匿名函数是指不需要定义函数名的一种函数实现方式。在Go语言中,函数可以像普通变量一样被传递或使用,这与C语言的回调函数比较类似。不同的是,Go语言支持随时在代码里定义匿名函数代码格式func (参数列表) (返回值列表) { 函数体 } 举例1 // 定义匿名函数并赋值给f变量,参数是变量data,int类型 f := ......
548
0
0
2022-07-13
type使用场景1.定义结构体// 定义商标结构 //将Brand定义为如下的结构体类型 type Brand struct { } // 为商标结构添加Show()方法 func (t Brand) Show() { } 2.作别名在 Go 1.9 版本之前定义内建类型的代码是这样写的: type byte uint8 type rune ......
426
0
0
2022-07-13
收录于 《Go 基础系列》,作者:潇洒哥老苗。学到什么什么是指针?什么是指针类型?如何使用和创建指针类型变量?如何从指针变量中取值?如何传递指针?什么是指针先了解什么是内存地址?说通俗点就是电脑上数据存储位置的编号,就好比我们的身份证号一样。指针也就是所说的内存地址,内存地址保存在指针变量里。图解:图中左半部分是一个字符串数据,右半部分是指针变量,该指针变量 ......
432
0
0
2022-07-11
RPC服务调用在go-zero中,使用是的zrpc来进行服务间的通信,zrpc是基于grpc这里的流程是user-api调用order-rpc服务添加api接口文件syntax = "v1" info( title: "用户管理" desc: "用户管理" author: "charlie" email: ......
435
0
0
2022-07-11
订单服务创建订单表> vim .\service\order\model\order.sql CREATE TABLE `order` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `user_id` BIGINT NOT NULL DEFAULT 0 COMMENT '用户id', ......
478
0
0
2022-07-11
最近公司可能用到微服务,同事们推荐go-zero,然后自己实践操作了下。记录下来学习过程。关于go-zero介绍,请看这里,不多介绍了。微服务是将一个大系统拆分成多个子系统,每个子系统拥有独立的存储,如用户系统,订单系统,商品管理系统等等。这里我们只测试下用户系统和订单系统service # 服务目录 └───user # 子系统 ......
658
0
0
2022-07-11
rest框架概览我们先通过 go-zero 自带的命令行工具 goctl 来生成一个 api service,其 main 函数如下:func main() { flag.Parse() var c config.Config conf.MustLoad(*configFile, &c) ctx := ......
447
0
0
2022-07-10
go语言的数据类型可以分为:基础类型和派生类型两个大类基础类型1、布尔类型(boolean):布尔类型的值只有true或false2、字符串(string):字符按照一定序列组成的有限长度的字串3、数字类型(number):包含了整型和浮点型的数据类型 整型类型 描述 长度 uint8 无符号 8 位整型 0 ~ 255 uint16 ......
384
0
0
2022-07-10