随笔分类 - GO使用
1
摘要:go 的依赖管理 gomod go的代码规范 go的异味检测(Linter)(gofmt 和 go vet 是每个 Go SDK 自带的 linter 工具,golangci-lint 是社区基于 Go team 的 golang/analysis 开发的 linter 工具) go的单元测试、CI
阅读全文
摘要:gRPC选择 Http2.0 作为基础开源协议,是考虑到 Http 协议在互联网应用的广泛性。同时因为 Http2.0 支持的 Streaming 和 Duplexing 可以将请求和响应消息进行分片交叉传送,可以大幅提升传输效率,GRPC 特色的 Stream 消息正是使用了 Http2.0 的
阅读全文
摘要:1. 函数以大写开头,表示将函数导出供包外使用;当首字母小写时,为包内使用,包外无法引用到。 2. defer 延迟调用 (先进后出) 3. import导包时 //_操作其实只是引入该包。当导入一个包时,它所有的init()函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的init(
阅读全文
摘要:转载自:https://cloud.tencent.com/developer/article/1856734 环境准备:安装Gin与Gorm 本文搭建准备环境:Gin+Gorm+MySql。 Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为
阅读全文
摘要:go module、go path和go vendor三种包管理方式 在golang 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。这种方式的最大的弊端就是无法实现包的多版本控制,比如项目 A 和项目 B 依赖于不同版本的 package,如果 package 没有做到完
阅读全文
摘要:直接在setting中配置 go的代理,并重启goland 在goland 的Terminal下使用 go env进行查看
阅读全文
摘要:通过GoLand的Terminal控制台,进入到src/${ProjectName}下, 调用dep init,生成项目依赖文件Gopkg.lock、Gopkg.toml和vendor目录。 Gopkg.lock 自动生成文件,不允许手动修改。 Gopkg.toml Go语言依赖管理的核心文件,可以
阅读全文
摘要:项目根目录下手动创建 bin,pkg和src三个文件夹。 bin目录:用来存放编译后的exe二进制文件。 pkg目录:用来存放自定义包,也就是import的来源。 src目录:用来存放项目源文件,也就是我们的开发文件。 windows下配置镜像源 $ go env -w GO111MODULE=on
阅读全文
摘要:go的基础语法 变量、常量、关键字、流程控制语句、函数、接口、数组、map、并发 gin框架 >restful接口、gorm数据库操作、并发、单元测试、打包(docker镜像) grpc底层通信、序列化protoful cloud native云原生架构组成(go项目框架构造) go中应用k8s
阅读全文
摘要:golang 的并发编程范式 并行:程序在任意时刻都是同时运行 并发:程序在单位时间内是同时运行(避免阻塞、分时操作) go 并发执行体称为goroutine go语言 通过 go 关键字来启动一个goroutine.(go的后面必须跟一个函数) go func() { ...... } gorou
阅读全文
摘要:康威定律可总结为四个定律: 第一定律 组织沟通方式会通过系统设计表达出来。 第二定律 时间再多一件事情也不可能做的完美,但总有时间做完一件事情。 第三定律 线型系统和线型组织架构间有潜在的异质同态特性。 第四定律 大的系统组织总是比小系统更倾向于分解。
阅读全文
摘要:在golang中需要使用一些驱动包来对指定数据库进行操作,比如MySQL需要使用github.com/go-sql-driver/mysql库,而Sqlite需要使用github.com/mattn/go-sqlite3库来支持,不过好在gorm框架中对各个驱动包进行了简单包装,可以让我们在写程序时
阅读全文
摘要:Iris是一款Go语言中用来开发web应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如Android、ios、Linux和Windows等。该框架只需要一个可执行的服务就可以在平台上运行了。 Golang常用框架有:Gin、Iris、Beego、Buffalo、Echo、Revel
阅读全文
摘要:RPC,全称Remote Procedure Call,中文译为远程过程调用。通俗地讲,使用RPC进行通信,调用远程函数就像调用本地函数一样,RPC底层会做好数据的序列化与传输,从而能使我们更轻松地创建分布式应用和服务。 1.我们使用什么数据模型?JSON、XML还是二进制流 2.我们使用什么协议传
阅读全文
摘要:protobuf 数据存储格式,序列化和反序列化 protobuf 即 Protocol Buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储,占用
阅读全文
摘要:背景 语言应用领域: 嵌入式、汇编:C语言 操作系统:C语言 系统级服务编程:C++ 企业级应用和WEB应用:Java GO致力于解决 并发支持不友好、编译速度慢、编程复杂 三个问题 标识符和关键字 变量和常量 运算符 表达式 简单语句 控制结构 函数 接口 编译模式: 编译成可执行程序 运行模式:
阅读全文
摘要:go 没有类的概念,不支持直接面向对象编程 go 采用的都是值传递 go中的引用传递采用指针来进行实现 *变量名 Go语言中使用在变量名前面添加&操作符(前缀)来获取变量的内存地址(取地址操作) 当使用&操作符对普通变量进行取地址操作并得到变量的指针后,可以对指针使用*操作符,也就是指针取值 Go语
阅读全文
摘要:https://www.php.cn/manual/view/35161.html
阅读全文
摘要:声明变量: var name type 其中,var 是声明变量的关键字,name 是变量名,type 是变量的类型。 Go语言的基本类型有: bool string int、int8、int16、int32、int64 uint、uint8、uint16、uint32、uint64、uintptr
阅读全文
1

浙公网安备 33010602011771号