• golang里sync.Map包的使用方法

    golang里sync.Map包的使用方法

    吾八哥   |  2020-05-05

    sync.Map简介在Go语言里内置的常规map是只支持并发读,但不支持并发写操作的,常见的错误信息:fatal error: concurrent map writes. 但在golang里已经提供了封装好的线程安全map的包sync.Map,可以看看sync.Map的定义:// Map is like a Go map[interface{}]interface{}&nbs...

  • golang里strcut存为toml文件的方法

    golang里strcut存为toml文件的方法

    吾八哥   |  2020-04-19

    背景之前有介绍过在golang里如何读取toml文件文件,最近有个同学问我如何将struct存为toml文件,不过之前确实没这么操作过,所以就看了下toml的库的代码才找到方法。我采用的toml解析库为:github.com/BurntSushi/toml,在encode.go文件里的关键说明如下:// NewEncoder returns a TOML encoder tha...

  • golang里实现获取当前git仓库、分支的方法

    golang里实现获取当前git仓库、分支的方法

    吾八哥   |  2020-04-12

    需要写一个获取当前git仓库的地址和分支的方法,这里想到的最快的方法就是通过命令行的形式,关键代码如下:package git import ( "fmt" "os/exec" "strings" ) // ExecShell ... func ExecShell(command strin...

  • gin框架的http接口支持跨域请求的方法

    gin框架的http接口支持跨域请求的方法

    吾八哥   |  2020-04-06

    gin框架写的http接口支持跨域请求的方法很简单,实现一个支持跨域的中间件接口就行,关键代码如下:package main import ( "net/http" "github.com/gin-gonic/gin" ) func cors() gin.HandlerFunc { return func(c...

  • golang里如何判断一个目录是否存在?

    golang里如何判断一个目录是否存在?

    吾八哥   |  2019-09-15

    写文件之前最好判断下目录是否存在,如果不存在则需要先创建目录,今天我们来学习golang里如何判断一个目录是否存在?使用系统自带的os包,下面直接上代码:package main import (     "fmt"     "os" ) // PathExists&nb...

  • golang里捕获进程信号实现优雅退出的方法

    golang里捕获进程信号实现优雅退出的方法

    吾八哥   |  2019-09-15

    程序优雅退出可以更好的释放资源,或者打印一些重要的日志信息,在golang里可以实现捕获处理Signal信号来实现进程的优雅退出。POSIX中定义的信号POSIX.1-1990标准中定义的信号列表如下:信号值动作说明SIGHUP1Term终端控制进程结束(终端连接断开)SIGINT2Term用户发送INTR字符(Ctrl+C)触发SIGQUIT3Core用户发送QUIT字符(Ctrl+/)触发SIGILL4Core非法指令(程序错误、试...

  • Golang里解析TOML配置文件的方法

    Golang里解析TOML配置文件的方法

    吾八哥   |  2019-09-09

    TOML简介TOML的全称是Tom’s Obvious, Minimal Language,因为它的作者是 GitHub联合创始人Tom Preston-Werner 。TOML的目标是成为一个有明显语义而容易去阅读的最小化配置文件格式。 TOML被设计成可以无歧义地被映射为哈希表,从而很容易的被解析成各种语言中的数据结构。TOML一些规定如下:TOML是大小写敏感的。TOML文件必须只包含UTF-8编码的Unicode字符。空格是指制...

新手入门

更多

并发编程

更多