1行Go代码实现反向代理的示例

暂且放下你的编程语言来瞻仰下我所见过的最棒的标准库。为项目选择编程语言和挑选你最爱的球队不一样。应该从实用主义出发,根据特定的工作选择合适的工具。在这篇文章中我会...

golang gorm 操作mysql及gorm基本用法

golang 官方的那个操作mysql的有点麻烦所以就使用了gorm,下面就gorm的使用做下简单介绍下载gorm:go get -u github.com/jinzhu/gorm在项目中引入gorm:import ( "github.com/jin...

golang实现简易的分布式系统方法

本文介绍了golang实现简易的分布式系统方法,分享给大家,具体如下:功能 能够发送/接收请求和响应 能够连接到集群 如果无法连接到群集(如果它是第一个节点),则可以作为主节点启...

在Go中构建并发TCP服务器

开发一个并发TCP服务器,该服务器仅使用大约65行GO代码生成随机数。
TCP和UDP服务器随处可见,通过TCP/IP网络为网络客户端提供服务。在本文中,我将在GO编程语言,返回随机数。对于...

golang中bufio.SplitFunc的深入理解

前言
bufio模块是golang标准库中的模块之一,主要是实现了一个读写的缓存,用于对数据的读取或者写入操作。该模块在多个涉及io的标准库中被使用,比如http模块中使用buffio来完成...

Go语言中多字节字符的处理方法详解

1 概述
Go语言的字符串是使用 UTF-8 编码的。UTF-8 是 Unicode 的实现方式之一。本文内容包括:UTF-8 和 Unicode 的关系,Go语言提供的 unicode 包和 unicode/utf8 包的使用。...

go语言中int和byte转换方式

主机字节序主机字节序模式有两种,大端数据模式和小端数据模式,在网络编程中应注意这两者的区别,以保证数据处理的正确性;例如网络的数据是以大端数据模式进行交互,而我们的主机大...

用gomock进行mock测试的方法示例

在开发过程中往往需要配合单元测试,但是很多时候,单元测试需要依赖一些比较复杂的准备工作,比如需要依赖数据库环境,需要依赖网络环境,单元测试就变成了一件非常麻烦的事情。举例...

Go语言实现互斥锁、随机数、time、List

Go语言实现互斥锁、随机数、time、Listimport ( "container/list" "fmt" "math/rand" //备注2:随机数的包 "sync" //备注1:异步任务的包 "time")type INFO struct { l...

Golang教程之不可重入函数的实现方法

函数function
Go函数不支持嵌套、重载和默认参数
但支持以下特性:
无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包前言一个不可重入的函数就是一...

Golang编译器介绍

cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。
在谈到编译器时,有时可能会听到 前端(f...

Golang中的变量学习小结

Golang里面变量总的来说分四大类型 1. bool,stringbool:指布尔类型,也就是true, false
string: 字符串类型2. (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptrint 和...

Golang实现web文件共享服务的示例代码

本文主要介绍了Golang实现web文件共享服务的示例代码,分享给大家,具体如下:
很简单,只需要两行代码。http.Handle("/", http.FileServer(http.Dir("./"))) //把当前文件目录作...

Golang如何调用Python代码详解

前言Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言。Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍...

Go 并发控制context实现原理剖析(小结)

1. 前言Golang context是Golang应用开发常用的并发控制技术,它与WaitGroup最大的不同点是context对于派生goroutine有更强的控制力,它可以控制多级的goroutine。context翻译成...

Golang通道的无阻塞读写的方法示例

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。这篇文章会介绍,哪些情况...

Golang中禁止拷贝的实现代码

前言Go中没有原生的禁止拷贝的方式,所以如果有的结构体,你希望使用者无法拷贝,只能指针传递保证全局唯一的话,可以这么干,定义 一个结构体叫 noCopy,要实现 sync.Locker 这个接口...

golang 自旋锁的实现

CAS算法(compare and swap)
CAS算法是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻...

golang flag简单用法

通过一个简单的实例,来让大家了解一下golang flag包的一个简单的用法package mainimport ( "flag" "strings" "os" "fmt")var ARGS stringfunc main() { var uptime *bo...

Golang JSON的进阶用法实例讲解

痛点json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。 你是否遇到过json中某个字段填入某种类型都适合而陷入两难境地? (例如:定义...

golang如何修改json文件内容的方法示例

使用一个例子说明golang如何访问和修改json文件;主要分三步: 从文件读入json串 把json串转变成golang对象 遍历或者修改json值 写回文件假定用户输入json串为:{ "user": {...

Go语言的JSON处理详解

Go语言内建对JSON的支持。使用Go语言内置的encoding/json标准库,开发者可以轻松使用Go程序生成和解析JSON格式的数据。在Go语言实现JSON的编码和解码时,遵循RFC4627协议标...

Go语言中 Channel 详解

Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。它的操作符是箭头 <- 。ch <- v // 发送值v到C...

在Go中复制文件最流行的3种方法

本文将向您展示如何在GO编程语言。尽管Go中有三种以上的复制文件的方法,但本文将介绍三种最常见的方法:这三种方法各有利弊,我们只需要在应用中选择最合适的即可,不必盲目追求性...

使用golang写一个redis-cli的方法示例

0. redis通信协议
redis的客户端(redis-cli)和服务端(redis-server)的通信是建立在tcp连接之上, 两者之间数据传输的编码解码方式就是所谓的redis通信协议。所以,只要我们的re...

返回顶部
顶部