go语言怎么进行强制类型转换

golang是强类型语言,有强制类型转换,但是不同于Java语言所使用的强制类型转换。golang强制类型转换golang语言中分为类型转换(type conversion)、类型断言(type assertion)和...

2023-01-08

go语言有没有while

go语言中没有while关键字,,不支持while和do-while循环结构。循环语句用于重复执行某些程序中的语句。编程语言中常见的循环语句包括while语句、do-while语句和for语句。但是Go...

2023-01-08

Golang正则表达式判断手机号或身份证方法实例

目录一、正则表达式是什么?二、详细代码1.判断手机号2.判断是否为身份证补充:golang手机号邮箱正则总结一、正则表达式是什么?正则表达式(Regular Expression)是一种文本模式,包...

2023-01-01

golang 随机数的两种方式

golang支持两种随机数生成方式:math/rand // 伪随机crypto/rand // 真随机math/rand伪随机生成的数字是确定的,不论在什么机器、什么时间,只要执行的随机代码...

2023-01-01

golang中select语句的简单实例

目录前言1.先举个简单例子2. 避免造成死锁3. select 随机性4. select 的超时5. 读取/写入都可以6. 总结一下前言在golang语言中,select语句 就是用来监听和channel有关的IO操...

2023-01-01

如何用Go判断元素是否在切片中

目录1.问题2.遍历查询3.map 查询4.性能对比5.转换通用化6.借助开源库 golang-set7.小结参考文献1.问题如何判断元素是否在切片中,Golang 并没有提供直接的库函数来判断,最容易...

2023-01-01

Go语言学习之Switch语句的使用

目录基本语法fallthrough使用方法多条件匹配判断接口(interface)类型空接口获取实际类型基本语法在讲述if-else时已经提到,如果有多个判断条件,Go语言中提供了Switch-Case的方...

2023-01-01

详解golang执行Linux shell命令完整场景下的使用方法

目录1. 执行命令并获得输出结果2. 将stdout和stderr分别处理3. 异步执行命令4. 执行时带上环境变量5. 预先检查命令是否存在6. 两个命令依次执行,管道通信7. 按行读取输出内...

2023-01-01

go-micro开发RPC服务以及运行原理介绍

go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理。基本概念go-micro有几个重要的概念,后边开发RPC服务和介绍其...

2023-01-01

如何使用Golang创建与读取Excel文件

目录摘要引言正文架构文件对象数据的表示数据的解析实际架构Excelize 基础库文件坐标样式单元格操作数据验证数据的表示和解析表示解析大规模数据的写入需要关注的问题大量...

2023-01-01

Go 分布式链路追踪实现原理解析

目录为什么需要分布式链路追踪系统微服务架构给运维、排障带来新挑战分布式链路追踪系统如何帮助我们分布式链路追踪系统架构概览核心概念一般架构协议标准和开源实现应用侧...

2023-01-01

优雅使用GoFrame共享变量Context示例详解

目录前言摘要Context是什么?为什么需要Context?Context是如何实现共享变量的?如何使用?一、结构定义介绍二、逻辑封装三、上下文变量注入四、上下文变量使用方法定义Context对象...

2023-01-01

一篇文章学会GO语言中的变量

目录1.标识符2.关键字3.变量3.1 Go语言中变量的声明3.2 批量声明3.3 变量的初始化3.4 短变量声明3.5匿名变量4.常量5.iota总结1.标识符在编程语言中标识符就是程序员定义的...

2023-01-01

一文搞懂Go语言中文件的读写与创建

目录1. 文件的打开与关闭1.1 os.open1.2 os.OpenFile() 指定模式打开文件2. 文件的读取2.1 打开文件的方式读取文件中的数据2.2 使用 bufio 整行读取文件3. 写入文件操作3.1...

2023-01-01

go zero微服务实战处理每秒上万次的下单请求

目录引言处理热点数据优化限制隔离流量削峰如何保证消息只被消费一次代码实现结束语引言在前几篇的文章中,我们花了很大的篇幅介绍如何利用缓存优化系统的读性能,究其原因在于...

2023-01-01

Go通道channel通过通信共享内存

目录引言通道的声明与创建接收 & 发送数据引言不要通过共享内存来通信 应该通过通信来共享内存这句话有网友的解释如下:这句俏皮话具体说来就是,不同的线程不共享内存不用锁,线...

2023-01-01

深入了解Golang的指针用法

目录1.指针类型的变量2.Go只有值传递,没有引用传递3.for range与指针4.闭包与指针5.指针与内存逃逸与C语言一样,Go语言中同样有指针,通过指针,我们可以只传递变量的内存地址,而不...

2023-01-01

GoLang读取文件的10种方法实例

目录一. 整个文件读入内存1.直接指定文化名读取1.1使用os.ReadFile函数读取文件2.先创建句柄再读取2.1使用os.OpenFile函数只读形式获取句柄2.2代码讲解二.每次只读取一行1....

2023-01-01

Golang中slice删除元素的性能对比

目录我的电脑配置:直接上代码:Benchmark结果:解释:总结在我写的blog中,这个算是参与度比较高的,所以有必要把程序写的更加容易理解一些。我的电脑配置:☁ bechmark system_profil...

2023-01-01

详解Go语言中for循环,break和continue的使用

目录基本语法有始有终的条件循环带条件的循环无限循环数组循环使用计数器循环利用range循环Map循环string的遍历Break和Continue基本语法和C语言同源的语法格式,有始有终的循...

2023-01-01

一篇文章搞懂Go语言中的Context

目录0 前置知识sync.WaitGroup1 简介2 context.Context引入3 context包的其他常用函数3.1 context.Background和context.TODO3.2 context.WithCancel和3.3 context.WithTime...

2023-01-01

一文了解Go语言中的函数与方法的用法

目录函数定义语法函数定义示例无返回值函数单一返回值函数多返回值函数方法(Method)定义方法(Method)示例基本类型结构体类型函数定义语法与大部分语言一致,Go语言中的函数定...

2023-01-01

go zero微服务高在请求量下如何优化

目录引言本地缓存自动识别热点数据缓存使用技巧结束语引言前两篇文章我们介绍了缓存使用的各种最佳实践,首先介绍了缓存使用的基本姿势,分别是如何利用go-zero自动生成的缓存...

2023-01-01

golang字符串本质与原理详解

目录一、字符串的本质1.字符串的定义2.字符串的长度3.字符与符文二、字符串的原理1.字符串的解析2.字符串的拼接3.字符串的转换总结一、字符串的本质1.字符串的定义golang中...

2023-01-01

golang中defer的基本使用教程

目录前言1.什么是defer2.defer的特点3.defer什么时间执行4.defer常见的坑1.输出是多少?2.输出多少3.输出多少4.输出什么总结前言第一次看go基础语法的时候,用使用到了defer。...

2023-01-01

Golang切片删除指定元素的三种方法对比

目录前言1.截取法(修改原切片)2.拷贝法(不改原切片)3.移位法(修改原切片)3.1 方式一3.2 方式二4.性能对比5.小结前言Go 并没有提供删除切片元素专用的语法或函数,需要使用切片本身...

2023-01-01

GoFrame实现顺序性校验示例详解

目录引言基本介绍无序的原因顺序校验总结引言在上一篇文章中 GoFrame数据校验之校验结果 | Error接口对象 ,关于顺序与非顺序性校验没有做充分的介绍。这篇文章填上之前留的...

2023-01-01

Golang实现快速求幂的方法详解

今天讲个有趣的算法:如何快速求nm,其中n和m都是整数。为方便起见,此处假设m>=0,对于m< 0的情况,求出n|m|后再取倒数即可。另外此处暂不考虑结果越界的情况(超过 int64 范围)。当然...

2023-01-01

基于微服务框架go-micro开发gRPC应用程序

go-micro是golang的一个微服务框架。这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式。1、安装protoc这个工具也称为proto编译器,可以用来生成各种开发语言使用prot...

2023-01-01

详解Go flag实现二级子命令的方法

目录前言os.Argsflag 快速开始长短选项自定义类型二级子命令参考前言日常开发使用到的命令行工具大都支持如下特性:文档自动生成(如 -h --help)多级子命令(如 docker exec -it)支...

2023-01-01

vscode配置go开发环境的实战过程

目录官网下载地址:安装:最终的安装效果:这里简单介绍一下:创建第一个Go程序:安装Go的依赖包:总结笔者在网上找了很多关于VSCODE配置Go语言的教程,但是由于版本等种种问题,最终都已失...

2023-01-01

Go实现整合Logrus实现日志打印

目录1 初步使用2 增加标签WithFields3 配置常见参数4 输出日志到文件5 利用Hooks将日志输出到其他地方Github:github.com/sirupsen/lo&hellip;1 初步使用package mainimport...

2023-01-01

golang爬虫colly 发送post请求

继续还是工作中使用colly,不管是官网,还是网上的一些文章(其实90%就是把官网的案例抄过去),都是一样的格式,没有讲到post,测试了几次,记录一下post的使用    c := colly.NewCol...

2023-01-01

Golang基础教程之字符串string实例详解

目录1、 string的定义2、string不可变3、使用string给另一个string赋值4、string重新赋值补充:字符串拼接总结1、 string的定义Golang中的string的定义在reflect包下的value....

2023-01-01

Go语言函数的延迟调用(Deferred Code)详解

目录基本功能示例一:延迟调用执行顺序示例二:多defer使用方法实例三:defer与局部变量、返回值的关系先解释一下这篇Blog延期的原因,本来已经准备好了全部内容,但是当我重新回顾实...

2023-01-01

Go微服务网关的实现

目录Go微服务网关网络基础大纲OSI七层网络协议三次握手 与 四次挥手为啥会出现大量的close_waitTCP 为啥需要拥塞控制TCP 拥塞控制为啥会出现粘包,拆包,如何处理产生tcp粘包和...

2023-01-01

Golang中如何实现枚举详析

Golang中怎么实现枚举?下面本篇文章给大家介绍一下Golang中实现枚举的方法,希望对大家有所帮助!在编程领域里,枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错...

2023-01-01

一篇文章带你轻松搞懂Golang的error处理

目录Golang中的errorerror的几种玩法哨兵错误自定义错误类型Wrap errorGolang1.13版本error的新特性errors.UnWrap()errors.Is()errors.As()error处理最佳实践优先处理error...

2023-01-01

Golang爬虫框架 colly的使用

目录项目特性安装colly实例colly 的配置colly页面爬取和解析colly框架重构爬虫Golang爬虫框架 colly 简介colly是一个采用Go语言编写的Web爬虫框架,旨在提供一个能够些任何爬...

2023-01-01

Go语言中的Iota关键字

一、复习常量提到Iota这个关键字,就必须要复习一下Go语言的常量。1.Go语言的常量一般使用const声明2.Go语言的常量只能是布尔型、数字型(整数型、浮点型和复数)和字符串型3.Go...

2023-01-01

Go语言中DateTime的用法介绍

一、基本使用①从属于time这个包②一般使用都是使用time.Time 这个类型表示时间 ,time包中还有一些常量,源码如下// Common durations. There is no definition for units of...

2023-01-01

Go语言中的闭包详解

一、函数的变量作用域和可见性1.全局变量在main函数执行之前初始化,全局可见2.局部变量在函数内部或者if、for等语句块有效,使用之后外部不可见3.全局变量和局部变量同名的情...

2023-01-01

Go语言中的包Package详解

问题一、Go使用Package组织源码的好处是什么?1.任何源码属于一个包2.用包组织便于代码的易读和复用问题二、Go语言中Package的种类Go语言中存在两种包、一种是可执行程序的包...

2023-01-01

Go语言中函数可变参数(Variadic Parameter)详解

目录基本语法示例一:函数中获取可变参数示例二:将切片传给可变参数示例三:多参数基本语法在Python中,在函数参数不确定数量的情况下,可以使用如下方式动态在函数内获取参数,args实...

2023-01-01

Go语言提升开发效率的语法糖技巧分享

目录前言可变长参数声明不定长数组init函数忽略导包忽略字段json序列化忽略某个字段json序列化忽略空值字段短变量声明类型断言切片循环判断map的key是否存在select控制结构...

2023-01-01

Golang range slice 与range array 之间的区别

目录为什么?理解case rangeSlicecase rangeArray测试代码结构图:为什么?var data [][]intfor _, rangeSlice := range [][]int{{1}, {2}, {3}} { data = append(data, range...

2023-01-01

执行go vendor第三方包版本冲突问题解决

目录问题症状排查经过解决办法总结和其他问题症状我们使用 jenkins 脚本执行 go build ,用来构建线上服务器使用的二进制文件。构建过程中有这样一个步骤:go mod vendor该步骤...

2023-01-01

go语言中的协程详解

协程的特点1.该任务的业务代码主动要求切换,即主动让出执行权限2.发生了IO,导致执行阻塞(使用channel让协程阻塞)与线程本质的不同C#、java中我们执行多个线程,是通过时间片切换...

2023-01-01

Go语言里切片slice的用法介绍

1.切片是基于数组做的一层封装,灵活能够自动扩容。2.切片的初始化方法①直接创建②基于已有的数组或切片③使用make来创建一个切片第一个5是切片的大小第二个5是切片的容量3....

2023-01-01

go语言中函数与方法介绍

在C#或者Java里面我们都知道,一个Class是要包含成员变量和方法的,对于GO语言的Struct也一样,我们也可以给Struct定义一系列方法。一、怎么定义一个方法?Go的方法是在函数前面加...

2023-01-01
返回顶部
顶部