![](https://img-blog.csdnimg.cn/20201014095812386.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go语言学习笔记
文章平均质量分 54
以一个零基础入门者的视角记录学习过程中的点点滴滴。
Big_quant
热爱技术,改变世界。
展开
-
Go 语言 练习 聊天室 01
目录文章目录目录前言正文友情援助前言GO语言是一门经典的互联网时代语言,要想掌握它,必须要,多多练习。正文今天我们来练习编写一个聊天室,首先是服务器。package mainimport ( "fmt" "net")type Server struct{ Ip string Port int}//创建一个Server的接口func NewServer(ip string,port int) *Server{ server:=&Server{ Ip:ip,原创 2021-10-10 17:43:33 · 850 阅读 · 0 评论 -
Go 语言web 框架 Gin 练习8
目录文章目录1 介绍2 练习友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习继续对之前的代码进行改善,主要工作是通过VIPER读取配置提高,配置更改效率。配置文件里的相应内容。server:原创 2021-09-27 16:09:54 · 852 阅读 · 0 评论 -
Go 语言web 框架 Gin 练习 7
目录文章目录1 介绍2 练习友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习继续对之前的代码进行改善,主要工作是封装软件各个层面的相应。具体而言,代码如下,主要是response功能以及两个实现原创 2021-09-26 15:38:41 · 870 阅读 · 0 评论 -
Go 语言web 框架 Gin 练习6
目录文章目录1 介绍2 练习结果展示友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习主要对上一次的代码继续进行改善,在上一次练习中,我们已经增加了中间件鉴权的代码,接下来就是对它的使用了。首先,原创 2021-09-24 10:38:40 · 885 阅读 · 0 评论 -
Go 语言web 框架 Gin 练习5
目录文章目录1 介绍2 练习友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习主要对上一次的代码继续进行改善,增加了一个鉴权中间件,用户可以通过注册时获得的TOKEN,直接访问后续服务,本次任务首原创 2021-09-24 10:28:25 · 5396 阅读 · 1 评论 -
Go 语言web 框架 Gin 练习4
目录文章目录1 介绍2 练习友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习主要争对上一次任务进行了改善,上一次发放的token是一个固定的11,没有起到token的作用,这次改良它。具体实原创 2021-09-18 16:22:22 · 950 阅读 · 1 评论 -
Go 语言web 框架 Gin 练习3
目录文章目录1 介绍2 练习友情援助1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范.2 练习本次练习主要在上一次代码的基础上进行了进一步的优化,加入了注册接口。func CollectRouter(r *gin.Eng原创 2021-09-17 10:02:24 · 925 阅读 · 1 评论 -
Go 语言框架 Gin 练习1
目录文章目录目录1 介绍2 练习效果演示友情支持1 介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范2 练习本次练习主要实现一个可以实现用户注册的后台。// main.gopackage mainimport ( "l原创 2021-09-15 09:54:05 · 1034 阅读 · 0 评论 -
Go语言之旅
引言Go语言并发效能极高,但也有自己的规范需要学习。文章目录引言两条Go规则引用即使用谨慎使用花括号附录两条Go规则Go具有严格的编码规则,可帮助您避免愚蠢的错误和错误代码,以及使您的代码在Go社区中更易于阅读。 这里就会介绍两个必须知道的Go规则。引用即使用请记住,Go编译器在这里提供帮助,不会让您的生活痛苦不堪。 因此,Go编译器的主要目的是编译并提高Go代码的质量。 您要么使用Go软件包,要么不包含它 Go对软件包使用有严格的规定。因此,您不能只包含您可能认为需要的任何程序包,而后不使用它原创 2021-04-29 20:45:48 · 1081 阅读 · 0 评论 -
Go(GoLang)解决 cannot find package/golang.org/问题 Grpc+ProtoBuf所需的一些资源
前言golang 使用grpc和protobuf需要处理一些问题,可以使用以下方法处理问题。正文1.golang.org\x\net\context,对应的可访问链接:https://github.com/golang/net,里面包含context,dns,http2等一系列资源2.golang.org/x/text/secure/bidirule,对应的可访问链接:https://github.com/golang/text,里面包含cmd,currency,secure等一系列资源3.goo原创 2021-03-02 14:47:08 · 3902 阅读 · 0 评论 -
Golang range解析
目录文章目录目录正文正文golang中的range是一个很常用的功能,可以遍历一个数组,切片等等,但是使用过程需要注意一个细节。先举个栗子:package mainimport ( "fmt")type Foo struct { Bar string}func main() { list := []Foo{Foo{"bar1"}, Foo{"bar2"}, Foo{"bar3"}} for i, v := range list { v原创 2021-02-23 20:30:15 · 2420 阅读 · 0 评论 -
Golang库学习笔记 Gin(三)
快速入门今天,我们将要基于一个例子,学习如何使用GIN框架。目录文章目录快速入门目录要求安装1.下载并安装 gin:2.将 gin 引入到代码中:3.(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:2.创建项目并且 cd 到项目目录中3.使用 govendor 初始化项目,并且引入 gin4.复制启动文件模板到项目目录中5.启动项目要求 Go 1.9 及以上版本我试验的版本是1.15.2go version go1.15.2 window原创 2021-02-11 18:49:53 · 396 阅读 · 0 评论 -
Golang 库学习笔记 Gin(二)
介绍Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 http router,速度提高了近 40 倍。 如果你是性能和高效的追求者, 你会爱上 Gin.在本节中,我们将介绍 Gin 是什么,它解决了哪些问题,以及它如何帮助你的项目。或者, 如果你已经准备在项目中使用 Gin,请访问快速入门.特性快速基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。支持中间件传入的 HTTP 请求可原创 2021-02-11 16:15:45 · 333 阅读 · 0 评论 -
Golang库学习笔记 Gin(一)
GINGIN 是Go语言的一个比较成熟的HTTP web 框架,运行速度很快。目录文章目录GIN目录正文如何使用 Gin?如何为 Gin 做贡献?正文Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 优于 httprouter,速度提高了近 40 倍。如果你需要极好的性能,使用 Gin 吧。如何使用 Gin?跟我一起由浅入深的学习吧。如何为 Gin 做贡献?1.在社区帮助其他人2.告诉我们你使用原创 2021-02-11 16:12:06 · 200 阅读 · 0 评论 -
go语言GUI 一
前言我们使用go-sciter,就不得不提Sciter,Sciter 是一个嵌入式的 HTML/CSS/脚本引擎,旨在为桌面应用创建一个 UI 框架层。说简单点就是我们通过它可以像写GUI。目录文章目录前言目录一、环境准备1、下载sciter-sdk2、安装MingW3 、安装go-sciter二、开始编写GUI1、 Hello World2、表单测试未完待续一、环境准备1、下载sciter-sdk第一步:从地址下载sciter-sdk解压,找到sciter-sdk\bin\64\scit原创 2021-01-27 20:09:26 · 2875 阅读 · 0 评论 -
Go 语言 cannot find module providing package github.com/
前言gopath 不起作用了。正文使用代理下载go包后后,出现了找不到包的问题,后来发现若使用代理,他会去pkg包下找依赖。解决在使用 GOPROXY 的时候,开启了 GO111MODULE,导致包管理非官方所说的在 $GOPATH\src\,而是去了 $GOPATH\src\pkg\目录下,具体可以参照这两篇文章:go get下载的包解决go下载不了的问题此时就需要用go mod引入这些包 require github.com/gin-gonic/gin@latest ,解决import原创 2020-10-27 20:49:20 · 13323 阅读 · 4 评论 -
Golang 入门笔记(二)下
目录文章目录目录修改字符串连接字符串格式化紧接上文修改字符串Go 语言的字符串是不可变的修改字符串时可以将字符串转变为【】byte进行修改【】byte和string可以通过强制类型转换互转。连接字符串+号可以直接连接但使用 bytes.Buffer更快h:=“aa”b:=“cc”var stb bytes.Bufferstb.WriteString(h)stb.WriteString(b)c:=stb.String()格式化fmt.Sprintf(格式化样式,参数列表…)原创 2020-10-27 11:42:28 · 263 阅读 · 0 评论 -
Go get 下载的包在哪里?
我们在go文件import一些来自github、gitlab等的包时,一般在cmd命令行中敲击如下命令即可:go get github.com/go-sql-driver/mysql //引入mysql的包可是这些包下载后具体在哪个位置呢?结论就是:包通过go get会下载到自己设定的GoPath的位置。我们可以查看高级系统变量来找到这个位置,一般都是自己设置的:如,C:\E\Goworks\src\github.com\gin-gonicgo文件夹下有两个子文件夹pkg和src。pkg是下原创 2020-10-24 22:05:05 · 19571 阅读 · 1 评论 -
Go web 编程资源
前言众所周知,golang是一门非常新的语言,同时功能强大,适用面广,特别适合大家作为自己的补充技术栈。关注下面公众号,回复 Go网络,即可下载资源原创 2020-10-19 13:02:21 · 200 阅读 · 0 评论 -
Golang 入门笔记(二)中
目录文章目录目录转换不同的数据类型指针指针地址和指针类型使用指针修改值使用指针变量获取命令行的输入信息转换不同的数据类型可以用类型+变量的方式强制转换:int(a)注意大数变小数时会有截断问题。比如:var a int32=123456789int16(a)a就会变小指针指针概念在Go语言中被拆分为两个核心概念:1类型指针允许对这个指针类型的数据进行修改。不能进行偏移和运算。2切片由指向起始元素的原始指针、元素数量和容量组成。安全指针不越界指针地址和指针类型每个变量在运原创 2020-10-15 16:56:03 · 201 阅读 · 1 评论 -
Golang 学习笔记资源
前言goalng学习笔记是本很好的go语言学习辅助资料,需要的同学可以关注公众号:输入 “go笔记”即可下载。原创 2020-10-15 14:45:32 · 234 阅读 · 0 评论 -
Golang 入门笔记(二)上
目录文章目录目录Go 语言基本语法与使用2.1 变量2.1.1 声明变量2.1.2 初始化变量2.1.3 多个变量同时赋值2.1.4 匿名变量-——没有名字的变量2.2 数据类型Go 语言基本语法与使用Go语言类似与c语言。2.1 变量常见的数据类型有整型,浮点型,布尔型,结构体等。Go语言是静态语言,先声明才能使用。2.1.1 声明变量var a intvar b string var c []float32 var d func() bool var e struct{ x原创 2020-10-15 10:50:03 · 235 阅读 · 1 评论 -
windows 解决 Go下载包失败 设置代理
在Go 最新的版本里面中,我们可以通过GOPROXY来控制代理,以及通过GOPRIVATE控制私有库不走代理。设置GOPROXY代理:go env -w GOPROXY=https://goproxy.cn,direct注意 设置代理后set GO111MODULE= on 打开代理服务设置GOPRIVATE来跳过私有库,比如常用的Gitlab或Gitee,中间使用逗号分隔: go env -w GOPRIVATE=*.gitlab.com,*.gitee.com``如果在运行go原创 2020-10-14 10:34:51 · 4773 阅读 · 0 评论 -
谷歌go语言课程讲解资源
前言众所周知,go是谷歌推广的,那么它的创造者的课程质量还是有保证的。关注公众号,回复,谷歌Go,获取相应资源。原创 2020-10-14 09:52:11 · 209 阅读 · 0 评论 -
Golang undefined: strings.ReplaceAll解决
编译一个开源项目的过程中,报错: undefined: strings.ReplaceAll 搜索求解得知,需要升级golang方法如下:go升级原创 2020-10-13 10:40:42 · 1841 阅读 · 0 评论 -
Go报错:more than one character in rune literal
前言在编译代码时 出现了以上错误原因是用错了引号的表达方式。package mainimport( "fmt")func main(){ fmt.Println('hello world')}一眼看上去没啥问题但是就是会报错more than one character in rune literal为啥呢?单引号,双引号在go语法中,双引号是常用的来表达字符串,如果你使用了单引号,编译器会提示出错invalid character literal (mo原创 2020-10-13 10:35:45 · 10148 阅读 · 0 评论 -
Go版本升级后编译出错:Load redeclared in this block
今天打算把Go由1.11.4升级到1.15.2,升级的方法就两步,先上Go官方下载页面( https://golang.org/dl/ )下载windows对应的压缩包下载好后把压缩包解压到相应的目录:覆盖安装就可以了因为是升级,不是初次安装,之前已经把PATH设置好了,就不用管了。之后执行以下命令,查看Go版本:E:\GO2\src>go versiongo version go1.15.2 windows/amd64看到已经是1.15.2了,以为任务结束了。但是用Go编译自己的原创 2020-10-13 10:30:09 · 9845 阅读 · 2 评论