Go语言中文网 为您找到相关结果 112

Golang学习 - strconv 包

// 将布尔值转换为字符串 true 或 false func FormatBool(b bool) string // 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False // 其它任何值都返回一个错误。 func ParseBool(str string) (bool, error) ------------------------------ // ErrRange 表示值超出范围 var ErrRange = errors.New("value out of range") // ErrSyntax 表示语法不正确 var ErrSyntax = errors.New(...阅读全文

Go圣经-学习笔记入门bufio

bufio数据读取注意项 在go圣经第一章节 bufio-缓存IO,有个例子,不读源码不容易理解。 DEMO 1 func main(){ reader :=bufio.NewReader( strings.NewReader(""http://studygolang.com. \nIt is the home of gophers, yes or no ?"), ) line, _ := reader.ReadSlice('\n') fmt.Printf("line=%s", line) // 注意点:bufio.ReadSlice会把'\n'读取进来, 所以自带换行 n, _ := reader.ReadSlice('\n') fmt.Printf("the line:%s\n", li...阅读全文

博文 2017-10-22 00:30:22 cdh0805010

golang自定义一个简洁而强大的错误追踪包

## 一. 前言 ### 1.1 错误追踪需要了解的信息 - 错误提示语 - 错误的位置, 如:具体的文件名,错误行号和错误方法等. ### 1.2 实际情况 - golang自带了错误信息包`error` 只提供了简单的用法, 如`errors.New()`,和`errors.Error()`用来传递和获取错误信息. - 明显官方的包已经不能满足了, 只能采取其他方法补救, 如: - 扩充官方包 - 自定义错误包 - 目前已经有很多人造了这个轮子, 同时也各有特色, 有简单的, 也有复杂的. - 这里为了简单使用, 我便选择了扩充官方包, 做一个简单优雅的错误处理包. ## 1.3 实现目标 通过简单调用, 即可以查看我们需要的信息, 最好是一键调用搞定. 为了照顾使用习惯, 我们就采用跟...阅读全文

译|Let’s talk about logging

来源:cyningsun.github.io/09-27-2019/… 本文受 Nate Finch started on the Go Forum 的一个话题启发。本文专注于 Go,但是如果你能看透,我认为这里提出的想法是广泛适用的。 Why no love ? Go 的 log package 没有日志级别,你必须自己手动添加 debug、info、warn 和 error 等前缀。另外,Go 的 日志类型无法以包为基础打开或者关闭这些不同级别。通过比较,让我们看一些第三方的替代品: Google 的 glog 提供以下级别: Info Warning Error Fatal (终止程序) 看看另外一个库, 我们为 Juju 开发的 loggo,提供以下级别: Trace Debug I...阅读全文

博文 2019-09-27 17:04:32 cyningsun

golang自定义一个简洁而强大的错误追踪包

一. 前言 1.1 错误追踪需要了解的信息 错误提示语 错误的位置, 如:具体的文件名,错误行号和错误方法等. 1.2 实际情况 golang自带了错误信息包error 只提供了简单的用法, 如errors.New(),和errors.Error()用来传递和获取错误信息. 明显官方的包已经不能满足了, 只能采取其他方法补救, 如: 扩充官方包 自定义错误包 ...... 更多内容, 请查看 https://segmentfault.com/a/119000002073565...阅读全文

博文 2019-10-18 21:32:46 aside section ._1OhGeD

golang自定义一个简洁而强大的错误追踪包

一. 前言 1.1 错误追踪需要了解的信息 错误提示语 错误的位置, 如:具体的文件名,错误行号和错误方法等. 1.2 实际情况 golang自带了错误信息包error 只提供了简单的用法, 如errors.New(),和errors.Error()用来传递和获取错误信息. 明显官方的包已经不能满足了, 只能采取其他方法补救, 如: 扩充官方包 自定义错误包 目前已经有很多人造了这个轮子, 同时也各有特色, 有简单的, 也有复杂的. 这里为了简单使用, 我便选择了扩充官方包, 做一个简单优雅的错误处理包. 1.3 实现目标 通过简单调用, 即可以查看我们需要的信息, 最好是一键调用搞定. 为了照顾使用习惯, 我们就采用跟官方一致的用法, 来完成. 该包已经完成, github地址为 http...阅读全文

Golang常用操作

总结Golang在实际开发中的常用操作,以便快速查找 主要参考The Way to Go 未完待续…… 处理错误 包装一个错误处理函数,避免大量重复if err!=nil的判断 func checkError(err error) { if err != nil { panic(err) } } 使用闭包处理panic错误,对拥有同样签名的函数,比如func handler1(w http.ResponseWriter, r *http.Request) { ... },可以复用panic处理机制, func errorHandler(fn func()) func() { return func() { defer func() { if err, ok := recover().(err...阅读全文

博文 2019-07-25 02:32:39 MrCloudPeak

首发特性:goproxy.cn 现已推出首个 Go 模块代理统计数据 API

前言 这周很值得纪念,首先是 goproxy.cn 已缓存的模块版本总数突破了一百万,这甚至比起 Go 官方的 proxy.golang.org 已缓存的还要多出不少。其次是 goproxy.cn 的日访问量已稳定在千万级,正在朝着亿级进发,目前这在国内我了解到的别的几个同类服务中是最多的了。另外尤为重要的一点是,经过我们的不懈努力,甚至付出了两次事故的代价(详见:status.goproxy.cn),我们终于使得 goproxy.cn 达到了零错误率!现在的 goproxy.cn 可以说是很稳的了,大家可以放心使用。 刚刚在开头稍微为这一个月发生的事情做了个小总结。接下来说一下本次的重点,也就是 goproxy.cn 推出了 Go 模块代理世界中的首个统计数据 API(文档详见:gopro...阅读全文

博文 2020-03-30 21:32:45 煎鱼

Go 每日一库之 sjson

简介 在上一篇文章中我们介绍了如何使用gjson快速读取 JSON 串中的值。为了内容的完整性,今天我们介绍一下如何使用sjson快速设置 JSON 串中的值。 快速使用 先安装: $ go get github.com/tidwall/sjson 复制代码后使用: package main import ( "fmt" "github.com/tidwall/sjson" ) const json = `{"name":{"first":"li","last":"dj"},"age":18}` func main() { value, _ := sjson.Set(json, "name.last", "dajun") fmt.Println(value) } 复制代码上面代码通过sjso...阅读全文

首发特性:goproxy.cn 现已推出首个 Go 模块代理统计数据 API

前言 这周很值得纪念,首先是 goproxy.cn 已缓存的模块版本总数突破了一百万,这甚至比起 Go 官方的 proxy.golang.org 已缓存的还要多出不少。其次是 goproxy.cn 的日访问量已稳定在千万级,正在朝着亿级进发,目前这在国内我了解到的别的几个同类服务中是最多的了。另外尤为重要的一点是,经过我们的不懈努力,甚至付出了两次事故的代价(详见:status.goproxy.cn),我们终于使得 goproxy.cn 达到了零错误率!现在的 goproxy.cn 可以说是很稳的了,大家可以放心使用。 刚刚在开头稍微为这一个月发生的事情做了个小总结。接下来说一下本次的重点,也就是 goproxy.cn 推出了 Go 模块代理世界中的首个统计数据 API(文档详见:gopro...阅读全文

博文 2020-03-30 23:35:16 煎鱼eddycjy