Go中如何使用set的方法示例
今天来聊一下 Go 如何使用 set,本文将会涉及 set 和 bitset 两种数据结构。Go 的数据结构
Go 内置的数据结构并不多。工作中,我们最常用的两种数据结构分别是 slice 和 map,即...
今天来聊一下 Go 如何使用 set,本文将会涉及 set 和 bitset 两种数据结构。Go 的数据结构
Go 内置的数据结构并不多。工作中,我们最常用的两种数据结构分别是 slice 和 map,即...
概述Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题。虽然 goroutine 是轻量级的线程,占用资源很少,但如...
1.随机数随机数,是使用一个确定性的算法计算出来随机数序。在程序开发中经常需要产生随机数,如随机数验证码登陆、作为唯一身份标识数据等等。2.rand库golang中产生随机数主要...
在编程过程中,我们常常需要用到字符串与其它类型的转换,strconv包可以帮我们实现此功能。1.string -> int
使用方法:func Atoi(s string) (i int, err error)
测试代码:func Ato...
简介
现在的网站没有 HTTPS 都不好意思见人了.超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是...
暴力的重启服务方案一般服务器重启可以直接通过 kill 命令杀死进程,然后重新启动一个新的进程即可。但这种方法比较粗暴,有可能导致某些正在处理中的客户端请求失败,如果请求正...
前言在学习过程中发现redis的zset还可以用来实现轻量级的延时消息队列功能,虽然可靠性还有待提高,但是对于一些对数据可靠性要求不那么高的功能要求完全可以实现。本次主要采...
简介Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thom...
什么是goroutine?Goroutine是建立在线程之上的轻量级的抽象。它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者方法。相比于线程,它的创建和销毁的代价要小...
无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序,在安装好Go安装语言开发工具之后,都必须配置好Go语言开发所要求的 环境变量,才算初步完成Go开发环境的搭建。但...
golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下:get请求
func httpGet() { resp, err :=...
前段时间在生活中偶尔需要对某些文件进行重命名,而且是随机名字,刚开始是手动重命名然后在键盘上胡乱打一些字母数字,时间长了发现也挺麻烦的,于是想到能不能用golang实现这个功...
go
main函数的执行本身就是一个协程,当使用go关键字的时候,就会创建一个新的协程channel
channel 管道,用于在多个协程之间传递信号无缓存管道
当对无缓冲通道写的时候,会一直阻...
对于手动管理内存的语言,比如 C/C++,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员。一不小心,就会发生内存泄露,搞得胆战心惊。但是...
本文介绍了Go语言Telnet回音服务器,分享给大家,具体如下:
package mainimport ( "fmt" "net" "bufio" "strings" "os")func main() { // 创建一个程序结束码的通道 exit...
发现一个验证字符串是否包含中文滴时候,一个比正则更好使滴方法,而且是golang 自带滴验证。不需要自己写正则验证,代码如下:package mainimport ( "fmt" "regexp" "unicode")fun...
生成带头像的二维码import ( "errors" "fmt" "github.com/nfnt/resize" "github.com/skip2/go-qrcode" "image" "image/draw" "image/png" "os" ) var err error f...
对于只有 Python 语言经验的朋友,也许会不太理解声明这个词,在 Python 中直接拿来就用,也不用声明类型啥的。Go 语言是静态类型语言,由于编译时,编译器会检查变量的类型,所以要求...
本文主要介绍 Golang 中最佳日志解决方案,包括常用日志包logrus 的基本使用,如何结合file-rotatelogs 包实现日志文件的轮转切割两大话题。Golang 关于日志处理有很多包可以使...
之前没有使用过私有库,今天正好碰到,把解决方法整理一下错误记录如果你在用go get 私有库碰到如下类似错误:解决方法$ export GO111MODULE=on$ export GOPROXY=direct$ export...
golang和c/c++比起来是一门新的语言,一直想学,网上搜集了一些资料,有些人说很容易上手,确实是这样,和C/C++比起来,少了很多乱七八糟的语法。学一门新的语言,最好的方法就是动手写一...
方式一 使用http.Newrequest
先生成http.client -> 再生成 http.request -> 之后提交请求:client.Do(request) -> 处理返回结果,每一步的过程都可以设置一些具体的参数,下面是...
概述
defer 函数大家肯定都用过,它在声明时不会立刻去执行,而是在函数 return 后去执行的。
它的主要应用场景有异常处理、记录日志、清理数据、释放资源 等等。
这篇文章不是...
golang 里出现多 goroutine 的场景很常见, 最常用的两种方式就是 WaitGroup 和 Context, 今天我们了解一下 Context 的应用场景使用场景
场景一: 多goroutine执行超时通知...
新学习go语言的人可能遇到常见的错误,其中有两个比较常见的错误,需要单独拿出来说下,为什么要单独说呢,因为这两个错误跟其他语言不同,是因为go本身的设计造成的。在循环(迭代)中使...
遇到golang channel 的一个问题:发现go 协程读取channel 数据 并没有按照预期进行协作执行。经过查资料:使用channel 操作不当导致,channel分 有缓冲区 和 无缓冲区 , 以下是...
unsafe包
golang是一种静态的强类型的语言,所有的类型都是不能随意转换的,Go语言是不允许两个指针类型进行转换的。go官方是不推荐使用unsafe的操作因为它是不安全的,它绕过了g...
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载...
Blackfriday是在Go中实现的Markdown处理器。您可以安全地输入用户提供的数据,速度快,支持通用扩展(表,智能标点符号替换等),并且对于所有utf-8(unicode)都是安全的输入。当前支持HTM...
某天,在需要抓取某个网页信息的时候,需要在header中增加一些信息,于是搜索了一下,如何在golang发起的http请求中设置header。package mainimport ( "fmt" "io/ioutil" "net/h...
Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。package mainimport "fmt"import "os"type point struct { x, y int}func main() { // Go提...
Go反射的实现和 interface 和 unsafe.Pointer 密切相关。如果对golang的 interface 底层实现还没有理解,可以去看我之前的文章: Go语言interface底层实现 , unsafe.Pointer 会...
在golang中有数组和Slice两种数据结构,Slice是基于数组的实现,是长度动态不固定的数据结构,本质上是一个对数组字序列的引用,提供了对数组的轻量级访问。那么我们今天就给大家详...
在开始使用Go进行编码时,Defer是要关注的一个很重要的特性。它非常简单:在任何函数中,给其他函数的调用加上前缀 defer以确保该函数在外部函数退出之前立即执行,即使外部函数出...
继上一篇单向链表,单线链表可以进一步扩展为环,如下图所示:特点:1、第一个节点称为头部节点,最后一个节点称为尾部节点2、每个节点都单方面的指向下一个节点3、尾部节点下一个节...
我们经常在使用CLI工具的时候,都会有这样的参数输出:➜ ~ docker versionClient: Docker Engine - Community Version: 18.09.2 API version: 1.39 Go version: go1...
viper 支持 Yaml、Json、 TOML、HCL 等格式,读取非常的方便。
viper 官网有案例:https://github.com/spf13/vipergo get github.com/spf13/viper创建 config.yaml 文件databa...
什么是反射
大多数时候,Go中的变量,类型和函数非常简单直接。当需要一个类型、变量或者是函数时,可以直接定义它们:type Foo struct { A int B string}var x Foofunc DoSomethin...
什么是页面静态化:简单的说,我们如果访问一个链接 ,服务器对应的模块会处理这个请求,转到对应的go方法,最后生成我们想要看到的数据。这其中的缺点是显而易见的:因为每次请求服务...
今天来聊一下我在Go中对数据进行 JSON 编码时遇到次数最多的三个问题以及解决方法,大家来看看是不是也为这些问题挠掉了不少头发。自定义JSON键名这个问题加到文章里我是有所...
本文实例讲述了golang实现的文件上传与文件下载功能。分享给大家供大家参考,具体如下:upload.go复制代码 代码如下:package common
import (
"io/ioutil"
"os"
"path"
"gi...
再次研究了插入排序的概念:定义一个有序的数据序列a,将待排序的序列b中的数依次插入到a的合适位置,插入后仍然有序
总结其与冒泡、选择的区别在于,内部迭代的次数是逐渐增大的,二...
package 的导入语法写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:import( "fmt")然后在代码里面可以通过如下的方式调用:fmt.Println( "我爱" )fmt 是 Go 的标...
1 本地包声明包是Go程序的基本单位,所以每个Go程序源代码的开始都是一个包声明:package pkgName这就是包声明,pkgName 告诉编译器,当前文件属于哪个包。一个包可以对应多个*.go...
什么是Cookie
Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。...
值类型和引用类型
值类型:int、float、bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中。当使用等号=将一个变量的值...
本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 Go 语言提供的...
起因  之前接触了一个需求:提供一个接口,这个接口有一个超时时间,如果超时了返回超时异常;这个接口中调用其他的接口,如果调用超时了,所有请求全部结束。
 Q...
VSCode 必须安装以下插件:首先你必须安装 Golang 插件,然后再给 Go 安装工具包。在 VS Code 中,使用快捷键: command+shift+P ,然后键入: go:install/update tools ,将所有 16 个插...
goto 语句通过标签进行代码间的无条件跳转。goto 语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go 语言中使用 goto 语句能简化一些代码的实现过程。使用 goto 集...