文章分类 -  GO语言快速入门

该文被密码保护。
posted @ 2019-11-22 23:05 小猿取经-林海峰老师 阅读(492) 评论(1) 推荐(1) 编辑
摘要:[TOC] 一 主从配置原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面; 4)slave有一个SQL线程,按照 阅读全文
posted @ 2019-11-05 09:10 小猿取经-林海峰老师 阅读(1181) 评论(4) 推荐(1) 编辑
摘要:Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。 net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现。 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网 阅读全文
posted @ 2019-10-23 22:41 小猿取经-林海峰老师 阅读(112) 评论(0) 推荐(0) 编辑
摘要:无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 log Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法。本 阅读全文
posted @ 2019-10-23 22:41 小猿取经-林海峰老师 阅读(68) 评论(0) 推荐(0) 编辑
摘要:fmt标准库是我们在学习Go语言过程中接触最早最频繁的一个了,本文介绍了fmtb包的一些常用函数。 fmt fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 向外输出 标准库fmt提供了以下几种输出相关函数。 Print Print系列函数 阅读全文
posted @ 2019-10-23 22:41 小猿取经-林海峰老师 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 将上面的代码执行go build o "args_demo"编译之后,执行: 阅读全文
posted @ 2019-10-23 22:41 小猿取经-林海峰老师 阅读(51) 评论(0) 推荐(0) 编辑
摘要:在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的t 阅读全文
posted @ 2019-10-23 22:41 小猿取经-林海峰老师 阅读(101) 评论(0) 推荐(0) 编辑
摘要:Cookie和Session是Web开发绕不开的一个环节,本文介绍了Cookie和Session的原理及在Go语言中如何操作Cookie。 Cookie Cookie的由来 HTTP协议是无状态的,这就存在一个问题。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(63) 评论(0) 推荐(0) 编辑
摘要:Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。 Gin框架介绍 Go世界里最流行的Web框架,Github上有24K+star。 基于httprou 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(216) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍了Go语言中文件读写的相关操作。 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。 打开和关闭文件 os.Open()函数能够打开一个文件,返回一个 File和一个err。对得到的文件实例调用close()方法能够关闭文件。 为了防止 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(61) 评论(0) 推荐(0) 编辑
摘要:时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法。 time包 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 时间类型 time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(54) 评论(0) 推荐(0) 编辑
摘要:html/template包实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出。它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用text/template包。 模板 在基于MVC的Web架构中,我们通常需要在后端渲染一些数据到HTML文件中,从而实现 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(45) 评论(0) 推荐(0) 编辑
摘要:Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换。 strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列。 更多函数请查看官方文档。 string与int类型 阅读全文
posted @ 2019-10-23 22:40 小猿取经-林海峰老师 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文介绍了如何使用Go语言发送和接收kafka消息。 sarama Go语言中连接kafka使用第三方库:github.com/Shopify/sarama 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(183) 评论(0) 推荐(0) 编辑
摘要:etcd是近几年比较火热的一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现,本文主要介绍etcd的安装和使用。 etcd etcd介绍 etcd是使用Go语言开发的一个开源的、高可用的分布式key value存储系统,可以用于配置共享和服务的注册和发现。 类似项目有zookee 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(74) 评论(0) 推荐(0) 编辑
摘要:Go语言的依赖管理随着版本的更迭正逐渐完善起来。 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决? godep Go语言从v1.5开始开始引入ve 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(87) 评论(0) 推荐(0) 编辑
摘要:本文简单介绍了ES、Kibana和Go语言操作ES。 Elasticsearch 介绍 Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(101) 评论(0) 推荐(0) 编辑
摘要:在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章就要讲解怎么在 golang 中做 profiling。 Go性能优化 Go语言项目中的性能优化主要 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(144) 评论(0) 推荐(0) 编辑
摘要:在项目开发中redis的使用也比较频繁,本文介绍了Go语言如何操作Redis。 Redis介绍 Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(91) 评论(0) 推荐(0) 编辑
摘要:NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ。 NSQ NSQ介绍 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异。 NSQ的优势有以下优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,并提供可靠的消息交付保证 阅读全文
posted @ 2019-10-23 22:39 小猿取经-林海峰老师 阅读(127) 评论(0) 推荐(0) 编辑