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

两种解法搞定Swap Nodes in Pairs算法题

最近还是很喜欢用golang来刷算法题,更接近通用算法,也没有像动态脚本语言那些语法糖,真正靠实力去解决问题。 下面这道题很有趣,也是一道链表题目,具体如下: 24. Swap Nodes in Pairs Solved Medium Topics Companies Given a l...[2024/4/19]

Go语言的100个错误使用场景(61-68)|并发实践

目录前言9. 并发实践9.1 context 的不恰当传播(#61)9.2 开启一个协程但不知道何时关闭(#62)9.3 在循环中没有谨慎使用协程(#63)9.4 使用 select 和 channel 期待某个确定的行为(#64)9.5 不使用用于通知的 channel(#65)9.6 不使用...[2024/4/15]

实战:如何优雅的从 Skywalking 切换到 OpenTelemetry

背景 最近公司将我们之前使用的链路工具切换为了 OpenTelemetry. 我们的技术栈是: OTLP Client──────────?Collect────────?StartRocks (Agent...[2024/4/10]

pprof - 在现网场景怎么用

如何使用 pprof 来定位现网 Golang 问题,已经是一名 Gopher 所需要掌握的必备技能了。我们在实际工作中也经常使用它来定位现网问题。网上有很多文章来描述 pprof 的使用,但是实际的线上使用场景,却和各个文章的描述的多少有些差异。 比如网上大部分文章都会告诉你,使用命令行打开...[2024/4/8]

标准库unsafe:带你突破golang中的类型限制

本文分享自华为云社区《突破语言golang中的类型限制》,作者:码乐。 1 简介 在使用c语言编程时,常常因为类型的问题大伤脑筋,而其他语言比如java,python默认类型又是难以改变的,golang提供了一些方式用于喜欢hack的用户。 2 标准库unsafe的简单介绍 官方说明标准...[2024/3/29]

使用Go语言开发一个短链接服务:一、基本原理

使用Go语言开发一个短链接服务:一、基本原理

章节 ?使用Go语言开发一个短链接服务:一、基本原理   ?使用Go语言开发一个短链接服务:二、架构设计 ?使用Go语言开发一个短链接服务:三、项目目录结构设计 ?使用Go语言开发一个短链接服务:四、生成code算法 ?使用Go语言开发一个短链接服务:五、添加和获取短链接 ?使用Go...[2024/3/27]

分享一个项目:go `file_line`,在编译期得到源码行号,减少运行期runtime消耗

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 file_line https: github.com/ahfuzhang/file_line Like __FILE__/__LINE__...[2024/3/27]

golang gc的内部优化

今天讲一个常见的gc compiler(也就是官方版本的go编译器和runtime)在垃圾回收的扫描标记阶段做的优化。 我对这个优化的描述印象最深的是在bigcache的注释里,大致内容是如果map的键值都不包含指针,那么gc扫描的时候不管这个map多大都不会深入扫描map内部存储的数据,只检...[2024/3/26]

fyne - 谁说用Go不能开发应用界面

fyne项目介绍 fyne 是一个纯 Golang 的跨平台 GUI 库,跨平台库说实话,是有很多选择的,Flutter、Electron、QT等。fyne 绝对不是一个很大众的选择。但是在我,一名后端程序员尝试使用 Electron实现一个简单的番茄时钟,痛苦地在使用 js 如何在渲染进程和主...[2024/3/22]

golang sync.Map之如何设计一个并发安全的读写分离结构?

在 golang中,想要并发安全的操作map,可以使用sync.Map结构,sync.Map 是一个适合读多写少的数据结构,今天我们来看看它的设计思想,来看看为什么说它适合读多写少的场景。 如下,是golang 中sync.Map的数据结构,其中 属性read 是 只读的 map,dirt...[2024/3/20]

golang 依赖控制反转(IoC) 改进版

  最近在开发基于golang下的cqrs框架 https: github.com/berkaroad quat (陆续开发中,最近断了半年,懒了。。。)。这个框架依赖ioc框架,因为之前写了一个ioc,所以借此完善下,主要从灵活性、易用性、性能角度进行了优化。顺带也支持了go mod,并将源码...[2024/3/20]

golang开发_goroutine在项目中的使用姿势

很多初级的Gopher在学习了goroutine之后,在项目中其实使用率不高,尤其一些跨语言过来的人,对并发编程理解不深入,可能很多人只知道go func(),或者掌控不够,谨慎一些,尽量少使用或者不使用,用的话就是go func(),主要列一下我们这边的主要使用方法。 goroutine在...[2024/3/11]

Go语言VSCode开发环境配置

Go语言VSCode开发环境配置

最近学习Golang,先把开发环境配置好。 一、安装Go语言开发包 https: golang.google.cn/dl/  按步骤安装即可,安装完成后需要设置Windows环境变量  配置好,做个测试 二、VSCode Golang开发环境配置 vs...[2024/3/11]

Dapr v1.13 版本已发布

Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统难题,由此显著提高生产力并缩短开发时长。Dapr 是用于构建云原生应用程序的开发人员框架,可以更...[2024/3/7]

Go语言的100个错误使用场景(55-60)|并发基础

目录前言8. 并发基础8.1 混淆并发与并行的概念(#55)8.2 认为并发总是更快(#56)8.3 分不清何时使用互斥锁或 channel(#57)8.4 不理解竞态问题(#58)8.5 不了解工作负载类型对并发性能的影响(#59)8.6 不懂得使用 Go contexts(#60)小结 前...[2024/3/4]

gin中间件&控制器&model

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 中的接口是一种抽象数据类型,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|模拟龙生,挂机冒险

一、前言 新年就要到了,祝大家新的一年:?? 龙行龘龘,?? 前程朤朤! 白泽花了点时间,用 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 泛型之泛型约束 目录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中最强大的魔法,接口应用模式或惯例介绍一、前置原则二、一切皆组合2.1 一切皆组合2.2 垂直组合2.2.1 第一种:通过嵌入接口构建接口2.2.2 第二种:通过嵌入接口构建结构体类型2.2.3 第三种:通过嵌入结构体类...[2023/11/10]

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

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篇,会讲讲临时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(

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 类型介绍一、error 类型与错误值构造1.1 Error 接口介绍1.2 构造错误值的方法1.2.1 使用errors包1.2.2 自定义错误类型二、error 类型的好处2.1 第一点:统一了错误类...[2023/10/19]

struct 结构体【GO 基础】

struct 结构体【GO 基础】

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

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的模板怎么用吗?带你了解动态文本的生成!

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

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

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

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