每日一学

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

    golang里sync.Map包的使用方法

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

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

    golang里strcut存为toml文件的方法

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

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

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

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

    每日一学 2020-04-12 1347 0
  • golang里如何判断一个目录是否存在?

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

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

    每日一学 2019-09-15 1524 0
  • Golang里实现Http服务器并解析header参数和表单参数

    Golang里实现Http服务器并解析header参数和表单参数

    在http服务里,header参数和表单参数是经常使用到的,本文主要是练习在Go语言里,如何解析Http请求的header里的参数和表单参数,具体代码如下:package server import (    "net/http"    "strconv"    "fmt" ) func HttpStart(port&...

    每日一学 2019-09-09 1385 0
1