刷新
Go 语言为什么建议多使用切片,少使用数组?

博主头像 大家好,我是 frank,「Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言中,数组固定长度,切片可变长度;数组和切片都是值传递,因为切片传递的是指针,所以切片也被称为“引用传递”。 读者朋友们在使用 Go 语言开发项目时,或者在阅读 Go 开源项目源码时,发现很少使用到数组,经常 ...

Go如何优雅的写数据库的单测

Go如何优雅的写数据库的单测 遇到的问题 ​ 当你想在代码中测试 Gorm 时,可以考虑使用单元测试或集成测试来确保 Gorm 的功能正常。下面是一个简单的示例,展示了如何编写一个基本的 Gorm 单元测试。 代码目录结构 app config config.yaml conf.go service ...

Gin 项目引入热加载

博主头像 目录一、什么是热加载二、Air2.1 介绍2.2 特性特性:2.3 相关文档2.4 安装推荐使用 install.sh使用 go install2.5 配置环境变量2.6 使用三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用四、bee4.1 介绍4.2 相关文档4.3 安装与使用4.4 ...

Gin 路由注册与请求参数获取

博主头像 目录一、Web应用开发的两种模式1.前后端不分离模式2.前后端分离模式二、RESTful介绍三、API接口3.1 RESTful API设计指南3.2 API与用户的通信协议3.3 RestFul API接口设计规范3.3.1 api接口3.3.2 接口文档:3.4 restful规范(10条,规定 ...

Gin 框架介绍与快速入门

博主头像 Gin 框架介绍与快速入门 目录Gin 框架介绍与快速入门一、Gin框架介绍1. 快速和轻量级2. 路由和中间件3. JSON解析4. 支持插件5. Gin相关文档二、基本使用1.安装2.导入3.第一个Gin 应用三、应用举例四、Gin 入门核心1.gin.Engine2.gin.Context 一 ...

Go 语言为什么很少使用数组?

博主头像 大家好,我是 frank,「Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言中,数组是一块连续的内存,数组不可以扩容,数组在作为参数传递时,属于值传递。 数组的长度和类型共同决定数组的类型,不同类型的数组之间不可以比较,否则在编译时会报错。 因为数组的一些特性,我们在 Go 项目开 ...

Golang开发环境搭建-Vim篇

本文于2017年3月份完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 最近在研究docker的使用方法,恰好手边有一本docker源码分析的书,所以在ubuntu环境下准备了一套golang的开发环境,便于在学习docker使用的时候顺便 ...

你是否想知道如何应对高并发?Go语言为你提供了答案!

博主头像 并发编程是当前软件领域中一个重要的概念。Go语言通过goroutine和channel的特性,天生支持高并发处理,充分利用现代CPU的多核优势。与Java相比,Go语言的协程更加轻量级,可以轻松创建上百万个协程。Go语言的调度器采用GPM调度模型,通过将协程放入队列中,由调度器分配给CPU处理。此外... ...

Go 泛型之泛型约束

博主头像 Go 泛型之泛型约束 目录Go 泛型之泛型约束一、引入二、最宽松的约束:any三、支持比较操作的内置约束:comparable四、自定义约束五、类型集合(type set)六、简化版的约束形式七、约束的类型推断八、小结 一、引入 虽然泛型是开发人员表达“通用代码”的一种重要方式,但这并不意味着所有泛 ...

Go语言编程教程-基本数据类型

博主头像 课程要点 了解布尔类型 了解整数类型 了解浮点数类型 了解复数类型 了解字符串类型 了解字符类型 布尔类型 类型 名称 取值范围 说明 bool 布尔类型 true或false 默认值为false 示例 ok := true println(ok) 整数类型 类型 名称 取值范围 说明 uint8 ...

gRPC .proto文件解析

博主头像 .proto文件解析 书接上回,创建了hello_grpc.proto文件后对其中参数进行解释,还是以上次的代码为案例 syntax = "proto3"; option go_package="./;hello_grpc"; package hello_grpc; message Req { st ...

创建一个能跑的go-gprc

博主头像 go-gRPC 创建项目 创建项目gprc,并新建文件夹server、client、pb 在pb文件下创建文件hello_grpc.proto并写入如下内容 syntax = "proto3"; option go_package="./;hello_grpc"; package hello_grp ...

Go 泛型之类型参数

博主头像 Go 泛型之了解类型参数 目录Go 泛型之了解类型参数一、Go 的泛型与其他主流编程语言的泛型差异二、返回切片中值最大的元素三、类型参数(type parameters)四、泛型函数3.1 泛型函数的结构3.2 调用泛型函数3.3 泛型函数实例化(instantiation)五、泛型类型5.1 声明 ...

golang中的fs.ReadDir

博主头像 平时习惯了./和../作为访问目录的路径,但今天使用golang中fs.ReadDir这个函数的时候发现这个习惯是不正确的。 但是常用的命令并没有分很清楚.和./ 在这几个命令中使用.或./都可以到达目录下 ls cd 错误示范 package main import ( "fmt" "io/fs" ...

GoFrame Goland插件

博主头像 GoFrame Helper是一款适用于 Goland/IntelliJ IDEA Ultimate插件,它为 GoFrame 提供 ORM, Config, OpenApi 结构体标签代码辅助;Api, Controller, Service 代码模板;监听 Api, Logic 自动生成对应的 ... ...

同城双活的必修课 - 落地经验与关键挑战解析

博主头像 1. 同城双活是什么 同城双活是一种容灾架构的设计模式,主要用于提高系统的可用性和容错性。它通常涉及在同一个城市内建立两个数据中心(机房),这两个数据中心同时对外提供服务,实现了高可用性和冗余。 关键特点和优势包括: 双活部署: 两个数据中心都处于活跃状态,同时处理用户请求。这样,当一个数据中心发生 ...

使用 AWS Go SDK 读取审计日志(CloudTrail)

博主头像 背景 公司的海外业务需要将云上的操作读取到内部的日志文件中,永久保存,供内部审计使用。 由于之前没有用过AWS相关的SDK,在使用过程中也遇到一些困难,这里记录一下,并且总结一下过程。 代码 快速开始 代码参考地址:https://github.com/awsdocs/aws-doc-sdk-exa ...

探索容灾架构演进之路-从单点到异地多活

博主头像 1. 挑战与变革 在公司发展初期,业务发展和用户增长是首要关注的焦点。然而,随着业务规模不断扩大,用户数量逐渐攀升,应用稳定性的重要性也变得愈发凸显。在这个演进过程中,传统架构下的应用部署模式开始显露出多方面的稳定性风险,其中最为显著的问题之一就是机房单点故障。当机房发生故障时,业务无法迅速恢复,这 ...

Go 获取 IP 地址

博主头像 1. 获取本地IP地址 使用 net 包可以获取本地机器的 IP 地址。以下是一个获取本地 IP 地址的简单示例: package main import ( "fmt" "net" ) func main() { // 获取所有网络接口 interfaces, err := net.Interfa ...

<1···789···13>