发布了 34 篇内容
共 14.4字, 被阅读 374次
获得了 0 次赞同
获得了 0次喜欢, 获得了 0 次收藏
参与了 1 次互动
互动包含发布评论、点赞评论、参与投票等
golang 中的字符串
在 go 中 rune 是一个 unicode 编码点。 我们都知道 UTF-8 将字符编码为 1-4 个字节,比如我们常用的汉字,UTF-8 编码为 3 个字节。所以 rune 也是 int32 的别名。
golang 中的 map
map 提供了键值对的无序集合,所有的键都是不重复的。在 go 中 map 是基于 bmap 数据结构的。在内部 hash 表是一个桶数组,每个桶是一个指向键值对数组的指针。每个桶里面可以保存 8 个元素。我们可以简化成下面的结构。
golang 中的切片
在 go 中切片的底层是数组,所以切片的数据连续存储在数组的数据结构中。如果底层的数组满了,切片还需要添加元素的话,底层数组就需要扩容。如果底层数组几乎为空时,就会缩容。
golang 中的 init 初始化函数
init 函数是用于初始化应用程序状态的函数。 它不接受任何参数并且不返回任何结果(一个 func() 函数)。 初始化包时,将初始化包中的所有常量和变量声明。 然后,执行初始化函数。 下面是一个初始化主包的例子:
golang 中的接口
接口提供了一种指定对象行为的方法。 我们使用接口来创建多个对象可以实现的通用抽象。 Go 接口不同的原因在于它们是隐式的。 没有像 implements 这样的显式关键字来标记对象 A 实现了接口 B。 为了理解接口的强大,我们可以看下标准库中两个常用的接口
golang 中的变量阴影
在 Go 中,在块中声明的变量名可以在内部块中重新声明。 这种称为变量阴影的原理很容易出现常见错误。
grpc 错误处理
我们都知道当发起 http 请求的时候,服务端会返回一些 http 状态码,不管是成功还是失败。客户端可以根据服务端返回的状态码,判断服务器出现了哪些错误。
golang 开发一个简单的 grpc
在 gRPC 中,客户端应用程序可以直接调用不同机器上的服务器应用程序上的方法,就像它是本地对象一样,使您更容易创建分布式应用程序和服务。 与许多 RPC 系统一样,gRPC 基于定义服务的思想,指定可以远程调用的方法及其参数和返回类型。
grpc 中的拦截器
当我们编写 HTTP 应用程序时,您可以使用 HTTP 中间件包装特定于路由的应用程序处理程序,可以在执行应用程序处理程序之前和之后执行一些常见的逻辑。 我们通常使用中间件来编写跨领域组件,例如授权、日志记录、缓存等。在 gRPC 中
CORS 跨域
1、为什么跨域 跨域资源共享 (CORS) 是一种基于 HTTP 标头的机制,它允许服务器指示除其自身之外的任何来源(域、方案或端口),浏览器应允许从中加载资源。 CORS 还依赖于一种机制,浏览器通过该机制向托管跨域资源的
golang 中的 errgroup
假如我们需要查询一个课件列表,其中有课件的信息,还有课件创建者的信息,和课件的缩略图信息。但是此时我们已经对服务做了拆分,假设有课件服务和用户服务还有文件服务。
golang 垃圾回收
中提到的垃圾回收算法是基于 go1.16 之后的,让我们直接进入正题吧。 1、什么时候需要垃圾回收?