文章分类 - Go
摘要:消息队列是架构级解耦方案,常用于流量削峰、应用解耦、异步处理 消息队列之NSQ NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ。 NSQ介绍 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异。 NSQ的优势有以下优势: 安装 官方下载页
阅读全文
摘要:TCP/UDP协议 由于tcp/udp协议过于底层基本不会使用,这里不再过多赘述,了解基本即可 网络分层架构 为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对
阅读全文
摘要:Go让并发更简单 并行和并发 并行:指在同一时刻,有多条指令在多个处理器上同时执行。 并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。 goroutine gor
阅读全文
摘要:regexp package main import ( "fmt" "regexp" ) func main() { buf := "abc azc a7c aac 888 a9c tac" //1) 解释规则, 它会解析正则表达式,如果成功返回解释器 //reg1 := regexp.MustC
阅读全文
摘要:概述 和传统面向对象的区别 对于面向对象编程的支持Go 语言设计得非常简洁而优雅。因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。 面向对象三大特性实现方式 尽管G
阅读全文
摘要:借助模块:io/bufio os 源码剖析 // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can
阅读全文
摘要:函数定义和使用 go的函数也是一等对象 在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句 变量作用域 函数外的每个语句都必须以关键字开始(var, func 等等),因此 := 结构不能在函数外使用。 没有明确初始值的变量声明会被赋予默认值(0 false
阅读全文
摘要:error接口 error 普通错误 Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,该接口的定义如下: Go语言的标准库代码包errors为用户提供如下方法 // Copyright 2011 The Go Authors. All rights reser
阅读全文
摘要:接口:说白了就是模拟多态 Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 接口的定义和实现 示例一 示例二 mock的Get方法返回url,real的Get方法打印html网页程序 package main import
阅读全文
摘要:包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归
阅读全文
摘要:文档 Go语言官网: https://golang.org (需要FQ) https://golang.google.cn/ (中国镜像站) go中文社区: https://go-zh.org/doc https://studygolang.com 编码 默认是utf-8 关于变量于内存 解疑 1.
阅读全文
摘要:说明 该系列文章基于Go 1.12版本 go安装 Go下载地址 Windows安装Go 本人是win64,因此选择64msi版本 选择安装目录 可以看到go1.12安装后,go安装目录自动添加到系统环境变量 GOPATH GOPATH路径最好只设置一个,所有的项目代码都放到GOPATH的src目录下
阅读全文

浙公网安备 33010602011771号