golang

Go

golang基础-和mysql打交道

64 0

mysql简介mysql是关系型数据库RDBMS(Relational database management system)的典型代表,也是后台开发中打交道最多的一个组件。go-sql-driver访问数据库插入操作func InsertUser(user bean.User) (bool){ //开启事务 tx, err := DB.Begin() if err != nil{ fmt.Println("tx fail") return false } //

Go

golang基础-单元测试与mock

349 0

golang 单元测试单元测试介绍为了保证代码的质量,很多公司都会要求写单元测试。这里介绍两个指标,函数覆盖率:函数调用个数/函数个数,通常要求100%行覆盖率:走到的行的个数/总函数,通常要求>60%通过单元测试,我们可以针对不同场景进行测试,是研发自己对质量的把控。 笔者目前所在的公司对单元测试要求很高,并且有替代测试的趋势。go testgo的test一般以xxx_test.go为文件名,x

Go

golang基础-http server

42 0

golang实现一个简单的http server如果搜索golang http server,会发现网上有很多不同的写法,本节将介绍多种写法,并把他们的关系捋清楚。写法1直接传入函数func SayHello(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello")) } func main() { http.HandleFunc("/say_hello", SayHello) err := http.ListenAndSe

Go

Go语言中slice作为参数传递时遇到的一些“坑”

40 0

Go语言中slice作为参数传递时遇到的一些“坑”前言相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了更深一点的“小坑”,与大家分享一下。首先还是从最简单的说起,看下面代码:12345678910func main() { a := []int{7,8,9} fmt.Printf("len: %d cap:%d data:%+v\n", len(a), cap(a), a) ap(a) fmt.Printf("len:

Go

专访Go语言布道师Dave Cheney:Go语言这十年,只能用“成功”一词总结

178 0

InfoQ:GopherChina 今年是第五年召开,您在中国参会感觉如何?Dave: 我目前住在澳大利亚,拜访过很多亚洲地区的 Go 语言社区,我的目标是拜访所有亚洲地区的 Go 语言社区:印度,马来西亚,新加坡,中国、日本、韩国等等。我想了解在这里大家是如何理解和使用 Go 语言的。作为一个说英语的西方人,我不太会中文。但在这里我发现一个很显著的现象是开发者们乐于分享和交流,通过线上的微信群和线下的会议、meetup,大家在一起互相交流学习 Go 语言,这是一件很棒的事情。这里分享和相互学习的氛围非

Go

Go Session

60 0

https://www.kancloud.cn/kancloud/web-application-with-golang/44177Golang官方没有提供Session标准库,但net/http包存在函数可以方便地使用。 实现Session功能服务端可通过内存、Redis、数据库等存储Seesion数据 可以通过Cookie将唯一SessionID发送给客户端 Session支持常用的增删改查操作 支持单机内存存储 支持分布式存储 支持分布式Redis存储Cookie虽然一定程度上解决了“状态保持”的需

Go

手撸golang etcd raft协议之8

49 0

手撸golang etcd raft协议之8 缘起 最近阅读 [云原生分布式存储基石:etcd深入解析] (杜军 , 2019.1) 本系列笔记拟采用golang练习之 gitee: https://gitee.com/ioly/learning.gooop raft分布式一致性算法 分布式存储系统通常会通过维护多个副本来进行容错, 以提高系统的可用性。 这就引出了分布式存储系统的核心问题——如何保证多个副本的一致性?Raft算法把问题分解成了四个子问题: 1. 领袖选举(leader election)

Go

Go微服务入门到容器化实践,落地可观测的微服务电商项目

132 0

download: Go微服务入门到容器化实践,落地可观测的微服务电商项目 对于真正微服务项目来说,服务开发只是第一步,容器化、弹性伸缩和可观测才是真正关键。本课程将通过电商项目实战,系统学习完全形态的微服务,掌握成熟闭环的落地方案。 技术要求 有Go实际开发经验 掌握Linux操作 熟练掌握MySQL 环境参数 开发语言:Golang 开发平台:Windows 10 开发工具:GoLand