随笔分类 - golang
摘要:time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 一、单调时间 Operating systems provide both a “wall clock,” which is subject to changes for clock synchronization, and a “
阅读全文
摘要:context本义是上下文,作用有二,主要用于控制子任务(goroutine)的生命周期,即同步结束子任务,本质是一种协程调度方式。其次用于父子任务传递变量、取消信号和deadlines。 使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下
阅读全文
摘要:一、按照指定顺序遍历map map按key顺序获取value package main import ( "fmt" "sort" ) func main() { m := make(map[string]int, 5) fmt.Printf("%T[%p](%d): %v\n", m, &m, l
阅读全文
摘要:闭包概念 闭包(Closure)是匿名函数的一个特例。当一个匿名函数所访问的变量定义在函数体的外部时,就称这样的匿名函数为闭包。 闭包是由函数及其相关引用环境组合而成的实体(即:闭包=函数+引用环境)。 “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个
阅读全文
摘要:1. 变量作用域 var p *int func foo() (*int, error) { var i int = 5 return &i, nil } func bar() { //use p fmt.Println(*p) } func main() { p, err := foo() if
阅读全文
摘要:参考:GMP 原理与调度 http://topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/GMP%E5%8E%9F%E7%90%86%E4%B8%8E%E8%B0%83%E5%BA%A6.html 转自:http://tonybai.com/2014/
阅读全文
摘要:转自:通过 GoLang 全面了解 HTTPS 知乎 腾讯技术 本文来源:腾讯优图实验室 笔者来自腾讯优图实验室,主要从事视觉 AI 能力赋能边缘计算设备的工作。一直以来,在实验室甚至整个公司特别强调“安全和隐私”,近半年,笔者在用 GoLang 开发智能边缘计算设备的网络通信项目时,常被要求务必重
阅读全文
摘要:VIM配置 Ubuntu16下vim配置golang语言环境需要高版本VIM(8.0以上)。 1. 可直接源码编译安装最新版vim。 yum remove -y vim-enhanced git clone https://github.com/vim/vim.git git checkout -b
阅读全文
摘要:转自: 如何写出优雅的 Go 语言代码 https://draveness.me/golang-101/ (Go 语言设计与实现 作者) Go 语言是一门简单、易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的事情,对于之前有过其他语言经验的开发者来说,
阅读全文
摘要:标准库log golang实现了简单易用的log,可以满足基本需求。虽然标准库实现了syslog,但已冻结不增加新功能。 Package log implements a simple logging package. It defines a type, Logger, with methods
阅读全文
摘要:一、基础包 1. os基础处理 os包中有一个string类型的切片变量os.Args,其用来处理一些基本的命令行参数,它在程序启动后读取命令行输入的参数。参数会放置在切片os.Args[]中(以空格分隔),从索引1开始(os.Args[0]放的是程序本身的名字)。 fmt.Println("Par
阅读全文
摘要:The grpc-gateway is a plugin of the Google protocol buffers compiler protoc. It reads protobuf service definitions and generates a reverse-proxy serve
阅读全文
摘要:Gin is a web framework written in Go (Golang). It features a martini-like API with performance that is up to 40 times faster thanks to httprouter. htt
阅读全文
摘要:1. swagger简述 Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个API生命周期的开发。OpenAPI 是一个 API 规范,Swagger 则是实现规范的工具。 接口规范swagger2.0(aka openAPI 2.0),ht
阅读全文
摘要:QUIC(Quick UDP Internet Connections)是基于UDP的多路复用和安全的通用传输层协议,相当于在UDP上实现了TCP+TLS+HTTP/2数据传输。 理论上quic采用UDP传输数据,封装了TLS和HTTP/2(HTTP3协议中,quic仅封装TLS,HTTP3协议数据
阅读全文
摘要:1. Golang中证书相关包 crypto/tls实现tls1.2和tls1.3。 type Config struct { ...... // Certificates contains one or more certificate chains to present to the // ot
阅读全文
摘要:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据 爬虫的基本流程 发起请求通过HTTP库向目标站点发起请求,也就是发送一个Re
阅读全文
摘要:1. gRPC简述 gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objec
阅读全文
摘要:转自:2018最新精选的Go框架,库和软件的精选列表 一 https://awesome-go.com/ 可参考:akkagao/awesome-go-cn Go 资源大全中文版, 内容包括:Web框架、模板引擎、表单、身份认证、数据库、ORM框架、图片处理、文本处理、自然语言处理、机器学习、日志、
阅读全文