经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Go语言

gin中间件&控制器&model

中间件 Gin 框架允许开发者在处理请求的过程中,加入用户自己的钩子(Hook)函数。这个钩子函数就叫中间件,中间件适合处理一些公共的业务逻辑,比如登录认证、权限校验、数据分页、记录日志、耗时统计等。 通俗的讲:中间件就是匹配路由前和匹配路由完成后执行的一系列操作 路由中间件 Gin ...[2024/2/28]

Excelize 开源基础发布 2.8.1 版本,2024 年首个更新

Excelize 是 Go 语言编写的用于操作电子表格办公文档的开源基础库,基于 ISO/IEC 29500、ECMA-376 国际标准。可以使用它来读取、写入由 Microsoft Excel、WPS、Apache OpenOffice、LibreOffice 等办公软件创建的电子表格文档...[2024/2/26]

推荐两个网络复用相关的 Go pkg: cmux smux

推荐两个网络复用相关的 Go pkg: cmux mux 只写一下如何使用,不对实现进行大量描述,两个库的代码都比较精炼,花一会看一下就行。 cmux 对端口进行复用,单端口可以建立不同协议的连接(本质都是 TCP),如 TCP/TLS/HTTP/gRPC 或自定义协议 smux 对TCP连接...[2024/2/23]

golang中的接口(数据类型)

golang中的接口 Golang 中的接口是一种抽象数据类型,Golang 中接口定义了对象的行为规范,只定义规范 不实现。接口中定义的规范由具体的对象来实现,通俗的讲接口就一个标准,它是对一个对象的行为和规范进行约定,约定实现接口的对象必须得按照接口的规范 接口的定义 在go中接...[2024/2/23]

Go 之烧脑的接口

基本定义 Go 官方对于接口的定义是一句话:An interface type is defined as a set of method signatures. 翻译过来就是,一个接口定义了一组方法的集合。这和 Java 和 PHP 的接口类似,定义一组方法而不定义方法的具体实现。但...[2024/2/18]

Go语言的100个错误使用场景(一)|代码和项目组织

目录前言1. Go: Simple to learn but hard to master1.1 Go 语言概述1.2 简单不等于容易1.3 使用 Go 的100个错误2. Code and project organization2.1 变量屏蔽(#1)2.2 没有必要的代码嵌套(#2)2.3...[2024/1/29]

他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险

他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险

一、前言 新年就要到了,祝大家新的一年:?? 龙行龘龘,?? 前程朤朤! 白泽花了点时间,用 800 行 Go 代码写了一个控制台的小游戏:《模拟龙生》,在游戏中你将模拟一条新生的巨龙,开始无尽的冒险! 3天前的《??模拟龙生|500行Go代码写一个随机冒险游戏|巨龙修为挑战》文章中已经对核...[2024/1/24]

Go-命令行参数解析

1. 解析命令行参数 程序在执行时,获取在命令行启动程序是使用的参数 命令行( Command line interface -- CLI):基于文本来查看、处理、操作计算机的界面,又被称为 终端、控制台 命令:在命令行执行的程序,一般是一行,包含命令名字、子命令与命令相关的选项(Flag...[2024/1/24]

Go 语言为什么建议多使用切片,少使用数组? - frank-wei

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

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

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

Go 泛型之泛型约束

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

go并发 - channel

概述 并发编程是利用多核心能力,提升程序性能,而多线程之间需要相互协作、共享资源、线程安全等。任何并发模型都要解决线程间通讯问题,毫不夸张的说线程通讯是并发编程的主要问题。go使用著名的CSP(Communicating Sequential Proce ,通讯顺序进程)并发模型,从设计之初 G...[2023/11/20]

go 上下文:context.Context

Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号、截止时间和其他请求范围值的标准方式。context 包提供了 Context 类型和一些相关的函数,用于在并发程序中有效地传递上下文信息。 在Go语言中,上下文通常用于以下场景: 请求的传递:当一个请求...[2023/11/17]

Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍

Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍

Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍 目录Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍一、前置原则二、一切皆组合2.1 一切皆组合2.2 垂直组合2.2.1 第一种:通过嵌入接口构建接口2.2.2 第二种:通过嵌入接口构建结构体类型2.2.3 第三种:通过嵌入结构体类...[2023/11/10]

Go类型嵌入介绍和使用类型嵌入模拟实现“继承”

Go类型嵌入介绍和使用类型嵌入模拟实现“继承” 目录Go类型嵌入介绍和使用类型嵌入模拟实现“继承”一、独立的自定义类型二、继承三、类型嵌入3.1 什么是类型嵌入四、接口类型的类型嵌入4.1 接口类型的类型嵌入介绍4.2 一个小案例五、结构体类型的类型嵌入5.1 结构体类型的类型嵌入介绍5.2 小...[2023/11/6]

【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库

为什么需要开发自己的 Go 库 在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在 Go 中,包是代码的基本组织单位,每个 Go 程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。 Go 包可以包含函数、类型、变量和常量等,这些元素可以被其他...[2023/11/6]

Golang 面向对象深入理解

1 封装 Java 中封装是基于类(Cla ),Golang 中封装是基于结构体(struct) Golang 的开发中经常直接将成员变量设置为大写使用,当然这样使用并不符合面向对象封装的思想。 Golang 没有构造函数,但有一些约定俗成的方式: 提供 NewStruct(s Struc...[2023/11/1]

Go 并发编程 - 并发安全(二)

什么是并发安全 并发情况下,多个线程或协程会同时操作同一个资源,例如变量、数据结构、文件等。如果不保证并发安全,就可能导致数据竞争、脏读、脏写、死锁、活锁、饥饿等一系列并发问题,产生重大的安全隐患,比如12306抢到同一张火车票、多个用户抢到只剩一件库存的商品。而并发安全就是为了避免这些问题。G...[2023/11/1]

Go语言基准测试(benchmark)三部曲之一:基础篇

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos 关于基准测试(benchmark) Go的标准库内置的testing框架提供了基准测试(benchmark)功能,可以用来验证本地方法在串行或者并...[2023/11/1]

用go封装一下临时token

用go封装一下临时token

用go封装一下临时token 本篇为用go设计开发一个自己的轻量级登录库/框架吧 的临时token篇,会讲讲临时token的实现,给库/框架增加新的功能。 Github:https: github.com/weloe/token-go 临时token也算是比较常见的业务,例如登录验证码信息,...[2023/10/30]

Go 常用标准库之 fmt 介绍与基本使用

Go 常用标准库之 fmt 介绍与基本使用

Go 常用标准库之 fmt 介绍与基本使用 目录Go 常用标准库之 fmt 介绍与基本使用一、介绍二、向外输出2.1 Print 系列2.2 Fprint 系列2.3 Sprint 系列2.4 Errorf 系列三、格式化占位符3.1 通用占位符3.2 布尔型3.3 整型3.4 浮点数与复数3....[2023/10/25]

2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(

2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(1<=K<=N)个方案,通过这些方案,能够支...[2023/10/25]

Go 包操作之如何拉取私有的Go Module

Go 包操作之如何拉取私有的Go Module 在前面,我们已经了解了GO 项目依赖包管理与Go Module常规操作,Go Module 构建模式已经成为了 Go 语言的依赖管理与构建的标准。 在平时使用Go Module 时候,可能会遇到以下问题: 在某 module 尚未发布到类似Gi...[2023/10/25]

Go开发IDE全览:GoLand vs VSCode全面解析

关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 一、引言 在软件开发的世界里,开发...[2023/10/25]

Go命令大全:全面解析与实践

本文详尽地探讨了Go语言的内建命令集,包括但不限于go build、go run、go get等。文章首先列举了所有常用的Go命令,并用表格形式简洁地解释了它们的功能。随后,我们逐一深入讲解了每个命令的使用说明、应用场景,以及实际操作中可能遇到的输出结果。 关注【TechLeadClou...[2023/10/25]

【对象存储】Minio本地运行和 golang客户端基本操作

运行环境 OS和Golang版本:  go version go1.21.0 darwin/arm64   安装 源码安装 下载最新版本的源码,地址https: github.com/minio/minio后编译 cd minio go build main...[2023/10/20]

Go 函数的健壮性、panic异常处理、defer 机制

Go 函数的健壮性、panic异常处理、defer 机制 目录Go 函数的健壮性、panic异常处理、defer 机制一、函数健壮性的“三不要”原则1.1 原则一:不要相信任何外部输入的参数1.2 原则二:不要忽略任何一个错误1.3 原则三:不要假定异常不会发生二、Go 语言中的异常:pan...[2023/10/20]

go使用snmp库查询mib数据

转载请注明出处:   OID(Object Identifier)是一种用于标识和唯一命名管理信息库中的对象的标准方式。给定一个OID,可以确定特定的管理信息库对象,并对其进行操作。   go语言使用snmp库中的 k-sone nmpgo 实现相关mib查询的代码如下: package...[2023/10/19]

Go 函数多返回值错误处理与error 类型介绍

Go 函数多返回值错误处理与error 类型介绍

Go 函数多返回值错误处理与error 类型介绍 目录Go 函数多返回值错误处理与error 类型介绍一、error 类型与错误值构造1.1 Error 接口介绍1.2 构造错误值的方法1.2.1 使用errors包1.2.2 自定义错误类型二、error 类型的好处2.1 第一点:统一了错误类...[2023/10/19]

struct 结构体【GO 基础】

〇、前言 虽然 Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念,但是可以通过结构体的内嵌,再配合接口,来实现面向对象,甚至具有更高的扩展性和灵活性。那么本文就将详细看下怎么使用结构体。 一、结构体的定义和实例化 Go 语言中的基础数据类型可以表示一些事物的基本属性,但是当想...[2023/10/13]

go 流程控制之switch 语句介绍

go 流程控制之switch 语句介绍

go 流程控制之switch 语句介绍 目录go 流程控制之switch 语句介绍一、switch语句介绍1.1 认识 switch 语句1.2 基本语法二、Go语言switch语句中case表达式求值顺序2.1 switch语句中case表达式求值次序介绍2.2 switch语句中case表达...[2023/10/13]

Go方法特性详解:简单性和高效性的充分体现

本文深入探讨了Go语言中方法的各个方面,包括基础概念、定义与声明、特性、实战应用以及性能考量。文章充满技术深度,通过实例和代码演示,力图帮助读者全面理解Go方法的设计哲学和最佳实践。 关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架...[2023/10/11]

基于go语言gin框架的web项目骨架

节省时间与精力,更高效地打造稳定可靠的Web项目:基于Go语言和Gin框架的完善Web项目骨架。无需从零开始,直接利用这个骨架,快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势,轻松处理高并发、大流量的请求。构建可扩展性强、易于维护的代码架构,保证项目的长期稳定运行...[2023/9/25]

你知道Golang的模板怎么用吗?带你了解动态文本的生成!

Golang Template Go语言中的Go Template是一种用于生成文本输出的简单而强大的模板引擎。它提供了一种灵活的方式来生成各种格式的文本,例如HTML、XML、JSON等。 Go Template的具有以下主要特性: 简洁易用:Go Template语法简洁而易于理解。...[2023/9/13]

Go运算操作符全解与实战:编写更高效的代码!

本文全面探讨了Go语言中的各类运算操作符,从基础的数学和位运算到逻辑和特殊运算符。文章旨在深入解析每一种运算操作符的工作原理、应用场景和注意事项,以帮助开发者编写更高效、健壮和可读的Go代码。 简介 Go语言,作为一种现代的编程语言,不仅因为其简单易读的语法而受到欢迎,还因为它的性能和...[2023/9/10]

一文简单了解函数类型

1. 引言 函数在Go语言中是属于一等公民,基于此,本文将简单介绍下Go语言中的函数类型,了解下其具体用法, 为后续了解函数类型的具体用途打下基础。 2. 函数类型说明 2.1 什么是函数类型 在 Go中,函数是一等公民,这意味着你可以直接使用函数类型,是Go语言的一种内置类型,具有以下通用...[2023/9/10]

Go类型全解:常量与变量大全!

本篇文章深入探讨了 Go 语言中类型确定值、类型不确定值以及对应类型转换的知识点,后续充分解析了常量与变量及其高级用法,并举出丰富的案例。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同...[2023/9/9]

PGO in Go 1.21

PGO in Go 1.21

原文在这里。 由 Michael Pratt 发布于 2023年9月5日 在2023年早些时候,Go 1.20发布了供用户测试的概要版本的基于性能分析的优化(PGO)。经过解决预览版已知的限制,并得益于社区反馈和贡献的进一步改进,Go 1.21中的PGO支持已经准备好供一般生产使用!请查...[2023/9/9]

Go 语言内置类型全解析:从布尔到字符串的全维度探究

关注微信公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 本文深入探讨了 Go 语言...[2023/9/9]

Go学习笔记1

学习路线 2023-Go全链路工程师课纲 https: www.proce on.com/view/link/63594cd97d9c0854f9ac855e 一、搭建环境 https: tudygolang.com/dl msi需要自己安装 安装目录最好没有中文 1. 简单dos命令...[2023/9/6]

微服务架构|go-zero 的自适应熔断器

微服务架构|go-zero 的自适应熔断器

原文链接: go-zero 的自适应熔断器 上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断。 熔断和限流还不太一样,限流是控制请求速率,只要还能承受,那么都会处理,但熔断不是。 在一条调用链上,如果发现某个服务异常,比如响应超时。那么调用者为了避免...[2023/9/4]

为何每个开发者都在谈论Go?

本文深入探讨了Go语言的多个关键方面,从其简洁的语法、强大的并发支持到出色的性能优势,进一步解析了Go在云原生领域的显著应用和广泛的跨平台支持。文章结构严谨,逐一分析了Go语言在现代软件开发中所占据的重要地位和其背后的技术原理。 关注TechLeadCloud,分享互联网架构、云服务技术...[2023/9/4]

Go语言-Slice详解

Go语言中的slice表示一个具有相同类型元素的可变长序列,语言本身提供了两个操作方法: 创建:make([]T,len,cap) 追加: append(slice, T ...) 同时slice支持随机访问。本篇文章主要对slice的具体实现进行总结。 1. 数据结构 go语言的sli...[2023/9/1]

embed简介

embed简介

go embed 是 Go 1.16 中引入的特性,它允许将文件嵌入到 Go 代码中,以便在运行时访问这些文件。这对于将静态资源(如 HTML、CSS、JavaScript 文件)直接嵌入到 Go 二进制文件中,以及简化文件分发和部署非常有用。下面是关于 go embed 的详细介绍: 使用方...[2023/8/29]

go语言vscode集成开发环境搭建

目录本篇概要集成开发环境工具(ide)Goland或IntelliJ IDEAVisual Studio Code其他集成开发环境Visual Studio Code的go语言开发环境搭建Visual Studio Code安装go编译环境安装配置go环境变量安装go语言插件使用golang编程...[2023/8/14]

golang1.21新特性速览

经过了半年左右的开发,golang 1.21 在今天早上正式发布了。 这个版本中有不少重要的新特性和变更,尤其是在泛型相关的代码上。 因为有不少大变动,所以建议等第一个patch版本也就是1.21.1出来之后再进行升级,以免遇到一些意外的bug带来麻烦。 好了,一起来看看1.21带来的新特...[2023/8/11]

go-zero 是如何实现计数器限流的?

原文链接: 如何实现计数器限流? 上一篇文章 go-zero 是如何做路由管理的? 介绍了路由管理,这篇文章来说说限流,主要介绍计数器限流算法,具体的代码实现,我们还是来分析微服务框架 go-zero 的源码。 在微服务架构中,一个服务可能需要频繁地与其他服务交互,而过多的请求可能导致性能下...[2023/8/11]

go-zero 是如何实现令牌桶限流的?

go-zero 是如何实现令牌桶限流的?

原文链接: 上一篇文章介绍了 如何实现计数器限流?主要有两种实现方式,分别是固定窗口和滑动窗口,并且分析了 go-zero 采用固定窗口方式实现的源码。 但是采用固定窗口实现的限流器会有两个问题: 会出现请求量超出限制值两倍的情况 无法很好处理流量突增问题 这篇文章来介绍一下令牌桶算...[2023/8/11]

golang trace view 视图详解

大家好,我是蓝胖子,在golang中可以使用go pprof的工具对golang程序进行性能分析,其中通过go trace 命令生成的trace view视图对于我们分析系统延迟十分有帮助,鉴于当前对trace view视图的介绍还是很少,在粗略的看过trace统计原理后,我将对这部分做比较详...[2023/8/9]

「Go笔记-01」Golang发展简史、著名项目及官方库API文档基本使用

引言 Golang,又称Go语言,是一门开源的静态类型编译型编程语言。自从2007年由谷歌的罗伯特·格里泽默(Robert Griesemer)、罗布·派克(Rob Pike)和肯·汤普森(Ken Thompson)共同设计,Go语言已经成为了众多开发者的首选。 .center { displa...[2023/8/7]

347
2
记录数:1060 页数:1/2212345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多