2019年9月

  • Go代码静态检查工具golangci-lint

    Go代码静态检查工具golangci-lint

    为什么要做代码静态检查为了保证线上服务稳定性,提升代码质量,我们需要做代码入库准入检查,同时也可以提前发现一些潜在的风险,这个时候代码静态检查工具就派上用场了,代码静态检查工具可以帮助我们发现如下问题:不符合规范的代码风格未处理的错误返回值未释放的资源(内存泄露)未初始化的变量空指针引用数组越界无效的代码行....这些问题都是我们日常查bug经常会遇到的一些问题,如果能在写代码的时候就提前发现这些风险,那么一定程度上是可以降低因为这些问题引起的bug数的。golangci-lint介绍在Golang里推荐的代码静态...

    效率工具 2019-09-28 419 0 golangci-lint
  • golang各版本官方下载地址

    golang各版本官方下载地址

    Go1.13 下载Microsoft WindowsWindows 7 or later, Intel 64-bit processorgo1.13.windows-amd64.msi (112MB)Apple macOSmacOS 10.11 or later, Intel 64-bit processorgo1.13.darwin-amd64.pkg (115MB)LinuxLinux 2.6.23 or later, Intel 64-bit processorgo1.13.linux-amd64.tar.g...

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

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

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

    每日一学 2019-09-15 297 0
  • golang里捕获进程信号实现优雅退出的方法

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

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

    经验技巧 2019-09-15 295 0
  • Go 1.13 正式发布,看看都有哪些值得关注的特性

    Go 1.13 正式发布,看看都有哪些值得关注的特性

    Go Team 一直保持着 2、8 月份发布的节奏。这次 Go 1.13 版本没能在 8 月份发布,而是在美国时间 9 月 3 日发布,delay 的原因据说主要有:Brad Fitzpatrick 老婆生二胎,休陪产假了;Module 做了很大的改进。我们先不管这些,看看这次发布的一些信息。三个链接在邮件组中,官方宣布 Go1.13 发布,依照惯例,提供了如下三个链接:https://blog.golang.org/go1.13https://golang.org/dl/ (Go 中文网下载:https...

    效率工具 2019-09-14 359 0 go1.13
  • CI里使用go mod管理包解决墙和私有包问题的方法(go1.13)

    CI里使用go mod管理包解决墙和私有包问题的方法(go1.13)

    背景go mod是go1.11的时候推出的包的管理方法,但实际上在最新的go1.13之前我都只是尝试使用过go mod,但并未真正在生产环境使用,主要原因有两个方面:1.众所周知的墙的问题2.内部私有包如何拉取的问题对于上面第一个原因大家都会想到使用goproxy代理,确实是可以使用goproxy代理,但这样所有拉包的过程都走了代理,导致内部的一些包就无法拉取下来了,把1解决了2无法解决,2解决了1就有问题了,对于这个问题go1.13给我们带来了解决方法。go1.13里的go mod官方资料:https://git...

    效率工具 2019-09-14 320 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 303 0
  • Golang里解析TOML配置文件的方法

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

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

    第三方包 2019-09-09 287 0
  • Golang里结构体struct和json互相转换的方法

    Golang里结构体struct和json互相转换的方法

    Golang里对于结构体和json之间转换特别方便,使用内置的包 “encoding/json” ,简单的几行代码就可以做到。按照一个大括号里的定义就是一个结构体的规则来处理的,对于结构体定义和json里的字段名不一致的可以采用`json:"json字段名"`这种方式来指定,另外结构体定义字段名只有首字母大写才会被其他的对象访问到,符合Go语言的设计理念。下面的代码实例是实现的从配置文件里读取相关的配置转为结构体struct,然后更改内容后再存储为另一个文件。配置文件的路径通过运行传参...

    经验技巧 2019-09-09 278 0
  • 学Go网做最全的Golang学习资料库

    学Go网做最全的Golang学习资料库

           自从转型Golang后,深深的爱上了这个语言!现在工作中每天也都要写Go的代码,但好记性不如烂笔头,于是下决心将日常工作中的一些经验积累下来!希望这么一个网站能陪伴自己进步!17Go - 学Go网做最全的Golang学习资料库 http://www.17go.wang// hello world!package main import "fmt" func main() ...

    Golang教程 2019-09-08 303 0
1