Go 语言是如何实现切片扩容

Go 语言中的切片(slice)是一个非常灵活的数据结构,它可以根据需求自动扩容。slice 的扩容机制如下: 初始容量: 当使用 make([]T, len, cap) 创建 slice 时,可以指定初始长度 len 和容量 cap。如果只指定长度,则容量默认等于长度。 添加元素时的扩容: 当向 ...

Go 语言当中 CHANNEL 缓冲

在Go语言中,channel(通道)可以具有缓冲区,这种类型的通道称为缓冲通道(buffered channel)。缓冲通道与非缓冲通道相比具有以下特点: 异步通信:缓冲通道允许发送和接收操作以异步方式进行。当向缓冲通道发送数据时,如果缓冲区未满,发送操作将...

Go语言核心编程 - 数据结构和算法

47 课时 |
1788 人已学 |
免费

Go语言核心编程 - 基础语法、数组、切片、Map

182 课时 |
3170 人已学 |
免费

Go语言核心编程 - 面向对象、文件、单元测试、反射、TCP编程

162 课时 |
1536 人已学 |
免费
开发者课程背景图
Go语言之GORM框架(三)——Hook(钩子)与Gorm的高级查询

Go语言之GORM框架(三)——Hook(钩子)与Gorm的高级查询

Hook(钩子) 和我们在gin框架中讲解的Hook函数一样,我们也可以在定义Hook结构体,完成一些操作,相关接口声明如下: type CreateUser interface { //创建对象时使用的Hook BeforeCreate() error Befo...

go语言后端开发学习(三)——基于validator包实现接口校验

go语言后端开发学习(三)——基于validator包实现接口校验

前言 在我们开发模块的时候,有一个问题是我们必须要去考虑的,它就是如何进行入参校验,在gin框架的博客中我就介绍过一些常见的参数校验,大家可以参考gin框架学习笔记(四) ——参数绑定与参数验证,而这个其实也不是能够完全应对我们在日常开发中的需要,而今天我们要介绍的就是如何基于validator这个...

go语言后端开发学习(二)——基于七牛云实现的资源上传模块

go语言后端开发学习(二)——基于七牛云实现的资源上传模块

前言 在之前的文章中我介绍过我们基于gin框架怎么实现本地上传图片和文本这类的文件资源(具体文章可以参考gin框架学习笔记(二) ——相关数据与文件的响应),但是在我们实际上的项目开发中一般却是不会使用本地上传资源的方式来上传的,因为文件的上传与读取会频繁进行磁盘读写,会造成资源的不必要浪费,所以我...

go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证

go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证

什么是JWT JWT,全名为JSON Web Token,是当下主流的一种服务端通信认证方式,具有轻量,无状态的特点,它实现了让我们在用户与服务器之间传递安全可靠的Json文本信息,它的使用过程主要是这样的: 当用户注册的时候,服务端会接受到来自用户输入的账号与密码,然后服务端会向客户端发送JWT,...

Go语言之Gorm框架(一) ——初窥Gorm框架

Go语言之Gorm框架(一) ——初窥Gorm框架

Gorm和Mysql驱动的安装 打开终端,输入下列命令即可: go get gorm.io/driver/mysql go get gorm.io/gorm ...

go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件

go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件

前言 在上一篇文章中,我们实现了通过etcd来同时指定多个不同的有关分区与日志文件的路径,但是锁着一次读取配置的增多,不可避免的出现了一个问题:我们如何来监控多个日志文件,这样原来的tailFile模块相对于当下场景就显得有些捉襟见肘了,所以对tialFile模块进行重构就成了我们必须要做的事情了。...

go语言并发实战——日志收集系统(九) 基于etcd的代码重构思考与初步实现

go语言并发实战——日志收集系统(九) 基于etcd的代码重构思考与初步实现

前言 在之前我们j基于sarama,tail还有go-ini实现了日志收集系统客户端的编写,但是我们梳理一下可以发现,该客户端还存在一些问题: 客户端一次只能读取一个日志文件,无法同时读取多个分区 无法管理日志存放的分区(topic)那我们一个如何去解决这个问题呢?在前两篇文章中我们介绍了etcd,...

Go语言之GORM框架(四)——预加载,关联标签与多态关联,自定义数据类型与事务(完结篇)

Go语言之GORM框架(四)——预加载,关联标签与多态关联,自定义数据类型与事务(完结篇)

前言 本来是想着写多表关系的,不过写了一半发现重复的部分太多了,想了想与其做一些重复性工作,不如把一些当时觉得抽象的东西记录一下,就当用一篇杂记完成专栏的最后一篇文章吧。 预加载 简单示例 预加载主要用于在多表关系中加载关联表的信息,在讲解预加载的类型之前我们先来看一个预加载的示例: 相关表结构 ....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。