Go的几种函数传参模式
普通传参模式Go语言支持按顺序传入参数来调用函数,下面是一个示例函数: 1234// ListApplications 查询应用列表func ListApplications(limit, offset int) []Application ...
普通传参模式Go语言支持按顺序传入参数来调用函数,下面是一个示例函数: 1234// ListApplications 查询应用列表func ListApplications(limit, offset int) []Application ...
Go的占位符详解
Go的泛型解析
概述本文是《用 Golang 实现一个 Redis》系列文章第二篇,本文将记录介绍 Godis 是如何实现数据结构以及 redis 的各种命令,包括 TTL、发布订阅、命令的原子性以及事务等功能。 根据 KWHL 图表来看,本文会着重介绍数据结构以及...
背景自从工作以来,在编码过程中用到的中间件组件比较少,Redis 也是一直想学的缓存数据库;但是因为个人原因一直没有学,在 2022 年初的时候学习 go,并发现 go 语言相对于其他语言更轻量,编写代码也更方便,性能更加强大。 在决定深入学习 go...
sync包go 以独特的并发编程模型闻名,其核心理念就是 ”不要以共享内存的方式来通信,而是要用通信来共享数据“ ;但大多数的现代编程语言都是用 ”共享数据内存“ 的方式来作为并发编程的解决方案。考虑开发者是有可能是从这部分编程语言转过来的,在go中...
因工作需求,需要安装 protobuf 工具,并且根据 proto 文件生成 go 文件,下面对安装以及生成 go 文件的过程做记录 安装 ProtoBuf访问 ProtoBuf 的 Github 仓库,使用git将该仓库克隆下来 1git clon...
Golang 的反射反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信...
go 中的切片切片又称动态数组,依托数组实现,可以方便的进行扩容、传递等,实际使用中比数组更灵活。 切片与数组很类似,它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素)。不过,它们最重要的不同是:数组类型的值...
简介cobra是一个命令行程序库,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。非常多知名的开源项目使用了 cobra 库构建命令行,如Kubernetes、Hugo、etcd等等等等。 本文介绍 c...