以alpine作为基础镜像构建Golang可执行程序操作

Alpine介绍Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上...

golang 解析word文档操作

baliance/gooxmlgooxml是可以对整个office document提供支持的golang库,功能很强大,这里简单给出对word文档的读取案例安装go get baliance.com/gooxml/go build -i baliance....

golang 64位linux环境下编译出32位程序操作

目标:在64位linux系统上编译出32位程序。操作:1.执行 go env 查看当前go环境配置2.执行 export GOARCH=386 配置go输出系统平台为32位3.go build 编译程序4.使用file main 指...

解决Golang map range遍历结果不稳定问题

闲言少叙,本文主要是想介绍一个Golang开发常见的一个问题。然而,此问题对于初学者来说却经常容易陷入坑中。问题我在写一段代码时,使用了Golang的map数据结构,目的是想用map缓存...

golang等待触发事件的实例

我就废话不多说了,大家还是直接看代码吧~type Wait interface { // Register waits returns a chan that waits on the given ID. // The chan will be triggered when Trigg...

Golang中的path/filepath包用法

path/filepath包下的相关函数1. ToSlash函数func ToSlash(path string) string功能:将path中平台相关的路径分隔符转换成'/'例如:windows当前路径: D:\gopro\src\study,转换之...

golang-redis之sorted set类型操作详解

1:安装redigogo get github.com/garyburd/redigo/redis2:引用redigoimport ( "github.com/garyburd/redigo/redis")3:连接Redisc, err := redis.Dial("tcp", "192.168.2.225:63...

golang移除数组中重复的元素操作

我就废话不多说了,大家还是直接看代码吧~方法一://这种发放适用于string,int,float等切片,会对切片中的元素进行排序func SliceRemoveDuplicates(slice []string) []string {...

Go 修改map slice array元素值操作

在“range” 语句中生成的数据的值其实是集合元素的拷贝。它们不是原有元素的引用。这就意味着更新这些值将不会修改原来的数据。我们来直接看段示例:package mainimport "fm...

解决golang sync.Wait()不执行的问题

goroutine 似乎不用解释太多,可以利用它实现多线程,也可以利用它来实现异步事件。在使用关键字go的过程中,常常会将用到sync.WaitGroup,如下一段代码。package mainimport ( "fm...

golang 实现每隔几分钟执行一个函数

1、使用定时器2、使用这种方式go function() func function() { // TODO 具体逻辑 // 每5分钟执行一次 time.AfterFunc(5*time.Minute, function)}补充:Golang:每天零点定时...

golang定时器和超时的使用详解

我就废话不多说了,大家还是直接看代码吧~func main() { var a chan string a =make(chan string) go sendDataTo(a) go timing() getAchan(10*time.Second,a)}func send...

golang逐行读取文件的操作

我就废话不多说了,大家还是直接看代码吧~func ReadLine(fileName string) ([]string,error){ f, err := os.Open(fileName) if err != nil { return nil,err } buf := bufio...

GO语言开发环境搭建过程图文详解

一.GO语言开发包1.什么是GO语言开发包go 语言开发包其实是对go语言的一种实现,包括相应版本的语法, 编译, 运行, 垃圾回收等, 里面包含着开发 go 语言所需的标准库, 运行时...

golang 字符串拼接性能的对比分析

背景最近在做一个服务发现/注册的agent, 各个服务需要通过这个agent来注册自己的服务,在完成开发后,测试性能时发现性能达不到要求,通过pprof 来确认cpu主要耗费在gc上,分析结果...

Go 自定义error错误的处理方法

Go的error比较灵活.但是自身对error处理的机制有不太好用,我们可以自定义错误输出:
只要所有实现了Error()方法的对象都可以, 这里给个比较简单的demo,后续整理一个error的...

go实现冒泡排序的示例代码

冒泡排序: (Bubble Sorting)基本思想是通过对待排序序列从后向前(从下标较大的元素开始)以此比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后补移向前部(从...

Go基于GORM 获取当前请求所执行的 SQL 信息(思路详解)

前言为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间; 执行 SQL 的文件地址和行号; 执行 S...

GO开发编辑器安装图文详解

一.Go开发编辑器 开发工具多种多样, 选择一款适合自己的编辑器, 并且还要兼顾高效轻量 适用于go语言开发的编辑器有很多,包含GoLand、IDEA、VS Code等 甚至使用submit、n...

golang解析yaml文件操作

首先安装解析的第三方包:go get gopkg.in/yaml.v2示例:package main import ( "os" "log" "fmt" "encoding/json" "gopkg.in/yaml.v2") type Config struct { Test Test `yam...

Go语言模型:string的底层数据结构与高效操作详解

Golang的string类型底层数据结构简单,本质也是一个结构体实例,且是const不可变。string的底层数据结构通过下面一个例子来看:package mainimport ( "fmt" "unsafe")// from: st...

golang 获取字符串长度的案例

1.不同字符与获取字符串长度获取字符串长度,是字符串操作的重要方法。理论来说,获取字符串长度,只要从头到尾查找一遍就可以了。但遗憾的是,不同字符具有不同的编码格式。拉丁字...

解决golang json解析出现值为空的问题

我是通过beego框架,将请求过来的json进行解析,并将值保存在结构体中--------------------1--------------------- request := UpdateCommentRequestData{} req := common.Requ...

Go http client 连接池不复用的问题

当 http client 返回值为不为空,只读取 response header,但不读 body 内容就执行 response.Body.Close(),那么连接会被主动关闭,得不到复用。测试代码如下:// xiaorui.cc func Ht...

golang 切片截取参数方法详解

以 s := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}为例0. 建议:做slice截取时建议用两个参数,尤其是从底层数组进行切片操作时,因为这样在进行第一次append操作时,会给切片重新分配...

返回顶部
顶部