几个小技巧帮你实现Golang永久阻塞

目录使用 sync.WaitGroup空 select死循环用 sync.Mutexos.Signal空 channel 或者 nil channel总结参考Go 的运行时的当前设计,假定程序员自己负责检测何时终止一个 goroutine...

Windows下在CMD下执行Go出现中文乱码的解决方法

在cmd下运行go程序或者是GOLAND的Terminal下运行go程序会出现中文乱码的情况。go run ttypemain.go���� Ping  [127.0.0.1] ���� 32 �ֽڵ�����:
���� 127.0.0.1 �Ļظ�: �ֽ�=32 ʱ��<1ms TTL=128...

Golang两行代码实现发送钉钉机器人消息

废话不多说, 先看代码创建一个钉钉机器人, 必须使用加签方式1. 安装 ding 模块包go get -u github.com/wanghuiyt/ding2. 普通群消息使用使用你自己生成的AccessToken和Se...

Go中时间与时区问题的深入讲解

目录1. 时间与时区1.1 时间标准1.2 时区划分1.3 Local 时间2. Go 中的时间及序列化2.1 Go 如何初始化时区2.2 Go 时间字段的序列化2.3 Go 结构体中的时间字段序列化3. 各种...

Go与C语言的互操作实现

目录一、Go调用C代码的原理二、在Go中使用C语言的类型1、原生类型
数值类型
指针类型
字符串类型
数组类型
2、自定义类型
枚举(enum)结构体(struct)联合体(union)
typedef...

go语言中五种字符串的拼接方式(小结)

目录+拼接方式sprintf函数Join函数buffer.Builderbuffer.WriteString函数buffer.Builder函数ps:直接使用运算符主要结论+拼接方式
这种方式是我在写golang经常用的方式,go语言...

使用gin框架搭建简易服务的实现方法

go语言web框架挺多的,各有各的特点和风格。我之所以在项目中使用gin框架,是因为项目一开始是用的martini,一个设计得很好的框架,但是存在一个比较严重的问题,就是大量使用反射使...

Go语言基础入门应用简介及常用命令

目录Go语言简介Go语言的主要特点【重点】Go语言应用Go语言中常用命令Go语言中可见性规则【重点】Go语言简介Go 是一门开源、支持并发、垃圾回收的编译型系统编程语言从 2007...

Go并发的方法之goroutine模型与调度策略

目录单进程操作系统多线程/多进程操作系统1:N模型M:N模型goroutinegoroutine早期调度器GMP调度器设计策略 复用线程并行抢占全局队列学习刘丹冰《8小时转职golang工程师》,本...

golang微服务框架基础Gin基本路由使用详解

目录概述1. 基本路由2. 路由参数获取URL路径全部参数获取URL路径单个参数获取URL中指定的参数获取指定默认值的参数的概述路由是自定义url地址执行指定的函数,良好的路由定义...

一文搞懂Golang 时间和日期相关函数

目录一、基本介绍1.格式化日期时间2.时间的常量二、使用介绍1.内置函数一、基本介绍在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行花费的时间等等。在 Go...

Go语言配置数据库连接池的实现

目录配置连接池SetMaxOpenConns方法
SetMaxIdleConns方法
SetConnMaxLifetime方法
SetConnMaxIdleTime方法
实操一波配置连接池开始本文之前,我们看一段Go连接数据库的代码://...

Go 实现 Nginx 加权轮询算法的方法步骤

目录一,Nginx 负载均衡的轮询 (round-robin)1. nginx 中的配置2. 简单介绍3. 特点4. 实现 (这里使用golang模拟实现)5. 测试二,Nginx 负载均衡的加权轮询 (weighted-round-robin)1....

使用Go实现TLS服务器和客户端的示例

传输层安全协议(Transport Layer Security,缩写:TLS),及其前身安全套接层(Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。SSL包含记录...

使用Go HTTP客户端打造高性能服务

目录问题一:默认的 HTTP Client问题二:默认的 Http Transport总结HTTP(超文本传输协议)是一种用于客户端和服务器之间传输数据的通信协议。如果想要访问服务器资源,HTTP 请求是必...

go语言处理TCP拆包/粘包的具体实现

目录part 1part 2part 3part 1
最近在学习go自带的rpc,看完了一遍想着自己实现一个codec,也就是自定义消息的序列化和反序列化。消息的序列化和反序列化涉及到两步:1、从网络中...

golang构建HTTP服务的实现步骤

目录HTTPHandlerServeMuxServer创建HTTP服务http注册路由开启监听处理请求参考:   一个go最简单的Http服务器程序package main import ( "fmt" "net/http") func In...

Go语言基础go build命令用法及示例详解

目录go build一个Go项目在GOPATH下,会有如下三个目录
使用:注意:go build1. 用于测试编译多个包或一个main包
2. build命令编译包丢弃非main包编译结果,只是检查是否能够被编译...

Go语言基础go doc命令用法及示例详解

目录go doc一、使用go doc命令在终端查看go doc packagego doc package/subpackagego doc package function二、使用浏览器查看的方式go doc为我们提供了快速生成文档以及查...

Go语言集成开发环境IDE详细安装教程

目录1. 为什么使用 Go+ IDE?2. IDE 的安装与配置2.1 安装 VSCode2.2 安装 Go+ 扩展插件3. 使用 IDE 编辑和调试 Go+ 程序3.1 创建 Go+ 项目目录3.2 新建和编辑 Go+ 程序3.3...

Go语言实现一个简单生产者消费者模型

目录一、生产者消费者模型二、Go语言实现1、无缓冲channel2、有缓冲channel三、实际应用简介:介绍生产者消费者模型,及go简单实现的demo。一、生产者消费者模型生产者消费者模...

基于Go语言实现的简易api网关的示例代码

浏览器的请求去请求目标地址,然后获得结果它再发送给浏览器。对于Go语言来说,实现转发只需要简单的一行代码即可实现,如下所示:
httputil.NewSingleHostReverseProxy(address)基...

CMD下执行Go出现中文乱码的解决方法

目录1、报错信息如下2、原因分析3、解决方法4、封装处理乱码方法5、解决乱码完整代码1、报错信息如下2、原因分析因为Go的编码是UTF-8,而CMD的活动页是cp936(GBK),因此产生乱码...

Golang字符串常用函数的使用

目录1)Golang字符串包含功能[区分大小写]2)Golang ContainsAny()[区分大小写]3)Golang Count() [区分大小写]4)Golang EqualFold() [不区分大小写]5) Golang Fields()6)Golan...

Golang Gin框架实现文件下载功能的示例代码

目录Layui框架实现文件上传Gin框架获取前端上传的文件Gin框架的文件下载Layui框架实现文件上传基本的思路就是随便创建一个元素,然后使用layui的upload组件对创建的元素进行...

Gin 框架快速创建静态文件下载Web服务

目录介绍安装快速开始1.创建 boot.yaml2.创建 main.go3.文件夹结构4.验证从 pkger 读取文件 (嵌入式静态文件)1.下载 pkger 命令行2.创建 boot.yaml3.创建 main.go4.生成 pk...

Go语言基础go install命令使用示例详解

目录go install一、使用二、包名和目录名的关系三、注意go install编译并安装代码包,对于库,会生成目标库文件,并且放置到GOPATH/pgk目录下。
对于可执文件,会生成目标可执行文...

Golang共享变量如何解决问题

目录1. 什么是竞态2. 如何消除竞态3. Go 提供的并发工具3.1 互斥锁3.2 读写互斥锁3.3 Once3.4 竞态检测器4. 小结在之前的文章中,我们详细说了 Go 语言中 goroutine + channe...

golang实现数组分割的示例代码

需求:给定一个数组和一个正整数,要求把数组分割成多个正整数大小的数组,如果不够分,则最后一个数组分到剩余的所有元素。
示例1:
数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],正整数:2
期...

Go 语言的 :=的具体使用

目录1. 单变量 :=2. 多变量 :=3. 小结:=   Go 语言中 = 和 := 有什么区别1. 单变量 :=
Go 语言中新增了一个特殊的运算符:=,这个运算符可以使变量在不声明的情况下直接被赋...

Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据的思路详解

用过 Java 的同学都熟悉 Stream API,那么在 Go 里我们可以用类似的方式处理集合数据吗?本文给大家介绍 go-zero 内置的 Stream API,为了帮助理解,函数主要分为三类:获取操作、中...

Sublime Text3安装Go语言相关插件gosublime时搜不到gosublime的解决方法

在windows下golang开发环境搭建时(具体步骤网上很多,百度搜索括号前的文字即可找到),遇到了很尴尬的情况(如下图),百度也没有找到想类似的情况,解决办法 (共3步): (这也是手动安装插件的...

Go语言什么时候该使用指针

目录什么是指针指针的声明和定义var 关键字声明new 函数声明指针的操作指针参数指针接收者什么情况下使用指针什么是指针我们都知道,程序运行时的数据是存放在内存中的,每一个...

Go语言做爬虫状态码返回418的问题解决

目录背景原因分析代码部分背景 在使用Go语言做爬虫时,使用http.Get(url)去获取网页内容,状态码返回404,Body体为空。
原因分析 http.Get(url)是不需要设置header属性的http请...

Go中defer使用场景及注意事项

目录1. 简介1.1 使用场景1.2 注意事项2. defer 数据结构3. 执行机制3.1 栈上分配3.2 开放编码4. 参考1. 简介defer 会在当前函数返回前执行传入的函数,它会经常被用于关闭文...

使用go实现一个超级mini的消息队列的示例代码

目录前言目的设计协议
队列
broker
删除消息
生产者
消费者
启动
总结前言
趁着有空余时间,就想着撸一个mini的生产-消费消息队列,说干就干了。自己是个javer,这次实现,特意换用...

Go container包的介绍

目录1.简介2.list2.1数据结构
2.2插入元素3.ring3.1数据结构
4.heap4.1数据结构
1.简介
Container — 容器数据类型:该包实现了三个复杂的数据结构:堆、链表、环 List:Go中...

Golang如何读取单行超长的文本详解

目录前言:1.问题复现2.问题探究3.问题解决4.扩展总结前言:最近在探索用Go来读取文件,读取文本时发现,对于单行超长的文本,我的Go代码无法处理。经过查阅才发现,Go提供的Scanner无...

sublime text3解决Gosublime无法自动补全代码的问题

目录版本安装Gosublime自动补全解决方法Gosublime配置版本Sublime Text3.2.1
go version go1.12.1 darwin/amd64
Gosublime 18.11.28安装Gosublime打开Perferences&ndash;Br...

Go语言原子操作及互斥锁的区别

目录增或减比较并交换(Compare And Swap)载入与存储交换原子值原子操作与互斥锁的区别原子操作就是不可中断的操作,外界是看不到原子操作的中间状态,要么看到原子操作已经完成,要...

Go语言并发爬虫的具体实现

目录写在前面1. 单线程爬虫2. 多线程爬虫2.1 channel main函数2.2 sync.WaitGroup3. 源码地址写在前面这篇文章主要让大家明白多线程爬虫,因为go语言实现并发是很容易的。这...

vscode搭建go开发环境案例详解

目录前言一、安装goLang二.配置环境变量三、vscode安装插件四.安装golang依赖五.新建go文件提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档前言能用golang就...

Go语言中io包核心接口示例详解

目录前言ReaderWriterCloserSeeker组合接口总结前言IO 操作是我们在编程中不可避免会遇到的,例如读写文件,Go语言的 io 包中提供了相关的接口,定义了相应的规范,不同的数据类型...

golan参数校验Validator

目录1.实践1.1校验标签1.2字符串约束1.3自定义校验器前言:开发接口的时候需要多前端提交的参数进行参数校验,如果提交的参数只有一个两个,这样我们可以简单写个if判断,但是如果...

golang强制类型转换和类型断言

目录1.强制类型转换2.类型断言1.强制类型转换golang是强类型语言,但是和c++,Java不太一样的是,go中没有隐式类型转换,go中的类型转换只有:强制类型转换和断言在java中: public...

Golang爬虫及正则表达式的实现示例

目录字符数量限定其他爬虫补充:正则表达式加golang爬虫爬取经典案例豆瓣top250最近学习go,爬取网站数据用到正则表达式,做个总结;Go中正则表达式采用RE2语法(具体是啥咱也不清楚);...

浅谈Go1.18中的泛型编程

目录前言以前的Go泛型泛型是什么Go的泛型泛型函数泛型类型类型集合和接口的差异总结前言
经过这几年的千呼万唤,简洁的Go语言终于在1.18版本迎来泛型编程。作为一门已经有了1...

golang 调用c语言动态库方式实现

下面我们自己在 Linux 下做一个动态库(.so 文件 - Shared Object),然在用 Go 来使用它。本文所用的操作系统为 Ubuntu18.04, 以 gcc 作为编译器。1.实现头文件,声明文件中函数...

go语言开发环境配置(sublime text3+gosublime)

目录1、sublime text 3安装2、安装Package Control(sublime的插件管理)3、安装gosublime开始go语言开发时,网上google了下go的开发工具,大都推荐 sublime text3+gosublime。但是...

golang db事务的统一封装的实现

目录简单封装偷懒第一步
偷懒第二步
偷懒第三步
进一步封装事务处理的流程示例
database := db.DB tx, err := database.Begin() if err != nil { return...

返回顶部
顶部