golang
文章平均质量分 51
go语言学习笔记
Jayboy.chen
人生苦短,学海无涯!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go-zero后端返回函数封装
gozero后端返回封装函数原创 2023-08-13 23:46:36 · 400 阅读 · 0 评论 -
grpc-gateway配置2
grpc-gateway网关配置反向代理原创 2023-08-09 00:26:13 · 522 阅读 · 0 评论 -
grpcGateway配置
grpc-gateway原创 2023-08-09 00:07:20 · 468 阅读 · 0 评论 -
Go语言中的字符串
字符串字符串是 Go 语言中的基础数据类型,虽然字符串往往被看做一个整体,但是它实际上是一片连续的内存空间,我们也可以将它理解成一个由字符组成的数组,本节会介绍字符串的实现原理、转换过程以及常见操作的实现。1.字符串它实际上是由字符组成的数组,Go 语言中的字符串只是一个只读的字节数组,下图展示了 “hello” 字符串在内存中的存储方式:只读只意味着字符串会分配到只读的内存空间,但是 Go 语言只是不支持直接修改 string 类型变量的内存空间,我们仍然可以通过在string 和 []byt原创 2021-03-31 00:24:42 · 2031 阅读 · 0 评论 -
Go语言中的下划线
1. 下划线“_”是特殊标识符,用来忽略结果。1.1.1. 下划线在import中在Golang里,import的作用是导入其他package。import 下划线的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。这个时候就可以使用 import 引用该包。即使用【import _ 包路径】只是引用该包,仅仅是为了调用init()函数,所以无法通过包名来调用包中的其他函数。 示例:impo原创 2021-03-30 23:49:39 · 418 阅读 · 0 评论 -
Go基础数据结构--哈希表Map
前言Go 语言的哈希的实现原理,哈希是除了数组之外,最常见的数据结构。几乎所有的语言都会有数组和哈希表两种集合元素,有的语言将数组实现成列表,而有的语言将哈希称作字典或者映射。无论如何命名或者如何实现,数组和哈希是两种设计集合元素的思路,数组用于表示元素的序列,而哈希表示的是键值对之间映射关系。1.map定义map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。Go语言中 map的定义语法如下:map[KeyType]ValueType注解:K原创 2021-03-12 00:31:47 · 627 阅读 · 0 评论 -
GO高效读取配置--学习笔记
读取配置信息demo首先,我们需要在任意目录创建两个文件(my.ini 和 main.go)1.编辑 my.ini 文件并输入以下内容# possible values : production, developmentapp_mode = development[paths]# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)data = /home[se原创 2021-03-11 00:37:09 · 339 阅读 · 0 评论 -
Go项目热重启工具
安装go get -u github.com/cosmtrek/air创建配置文件在项目根目录创建一个名为 .air.conf 的配置文件。创建完毕之后,在文件中写入你应用运行的命令如:go build main.go运行项目只需要在项目根目录执行如下命令:air -c .air.conf如果你的配置文件是 .air.conf 那么你只需要运行 air 就可以了。项目运行后,我们再次编辑项目中的文件,项目的服务会自动重启了。...原创 2021-03-11 00:26:59 · 327 阅读 · 0 评论 -
Golang内置类型和函数--学习笔记
内置类型1.1. 值类型:boolint(32 or 64), int8, int16, int32, int64uint(32 or 64), uint8(byte), uint16, uint32, uint64float32, float64stringcomplex64, complex128array – 固定长度的数组1.2. 引用类型:(指针类型)slice – 序列数组(最常用)map – 映射chan – 管道1.3 内置函数Go原创 2021-03-10 01:11:05 · 349 阅读 · 0 评论 -
Go基础数据结构--切片
1.切片Slice上一节介绍的数组在 Go 语言中没那么常用,更常用的数据结构是切片,即动态数组,其长度并不固定,我们可以向切片中追加元素,它会在容量不足时自动扩容。在 Go 语言中,切片类型的声明方式与数组有一些相似,不过由于切片的长度是动态的,所以声明时只需要指定切片中的元素类型:[]int[]interface{}1.0 切片数据结构type SliceHeader struct { Data uintptr Len int Cap int}Data 是指向数组的指针原创 2021-03-10 00:57:05 · 868 阅读 · 0 评论 -
Go基础数据结构--数组Array
1. 数组数组和切片是 Go 语言中常见的数据结构,很多刚刚使用 Go 的开发者往往会混淆这两个概念。数组作为最常见的集合在编程语言中是非常重要的,除了数组之外,Go 语言引入了另一个概念 — 切片,切片与数组有一些类似,但是它们的不同导致了使用上的巨大差别。Golang Array和以往认知的数组有很大不同1. 数组:是同一种数据类型的固定长度的序列。2. 数组定义:var a [len]int,比如:var a [5]int,数组长度必须是常量,且是类型的组成部分。 一旦定义,长度不能变原创 2021-03-10 00:22:50 · 1022 阅读 · 0 评论 -
交叉编译Go语言程序
交叉编译Go 支持跨平台编译列如:在windows平台编译一个能在linux平台执行的可执行文件set CGO_ENABLED=0 # 禁用CGO 值为1表示不禁用set GOOS=linux # 设置目标平台为linux / windowsset GOARCH=amd64 # 设置目标处理器架构是amd64执行go build 生成linux平台运行的可执行文件mac平台交叉编译:set CGO_ENABLED=0 set GOOS=linux set GOARC原创 2021-03-04 23:58:51 · 307 阅读 · 1 评论 -
Go垃圾收集器
内存管理内存管理一般包含三个不同的组件,分别是用户程序(Mutator)、分配器(Allocator)和收集器(Collector)1,当用户程序申请内存时,它会通过内存分配器申请新的内存,而分配器会负责从堆中初始化相应的内存区域。 一、内存分配器线性分配(Bump Allocator)是一种高效的内存分配方法,但是有较大的局限性。空闲链表分配器(Free-List Allocator)可以重用已经被释放的内存,它在内部会维护一个类似链表的数据结构。 当用户程序申请内存时,空闲链表分配器会依次遍历空闲的内原创 2021-03-02 02:21:06 · 282 阅读 · 0 评论 -
GO语言HTTP
HTTP超文本传输协议(Hypertext Transfer Protocol、HTTP 协议)设计原理HTTP 协议是应用层协议,在通常情况下我们都会使用 TCP 作为底层的传输层协议传输数据包,但是 HTTP/3 在 UDP 协议上实现了新的传输层协议 QUIC 并使用 QUIC 传输数据,这也意味着 HTTP 既可以跑在 TCP 上,也可以跑在 UDP 上。HTTP 与传输层协议Go 语言标准库通过 net/http 包提供 HTTP 的客户端和服务端实现, 作为文本传输协议,HTTP 协议原创 2021-03-02 02:19:08 · 742 阅读 · 0 评论 -
GO语言JSON
JSON设计原理Go 语言通过 encoding/json 对外提供标准的 JSON 序列化和反序列化方法,即 encoding/json.Marshal 和 encoding/json.Unmarshal,它们也是包中最常用的两个方法。序列化和反序列化序列化和反序列化的开销完全不同,JSON 反序列化的开销是序列化开销的好几倍,相信这背后的原因也非常好理解。Go 语言中的 JSON 序列化过程不需要被序列化的对象预先实现任何接口,它会通过反射获取结构体或者数组中的值并以树形的结构递归地进行编码,标准原创 2021-03-02 02:16:34 · 567 阅读 · 1 评论 -
Golang:Delve版本太低无法Debug
问题描述分析这是因为本地delve组件版本过低导致的,2019.2.1版本的Goland默认支持go 1.13查看F:\Go (GOPATH目录)目录下存在github.com/go-delve/delve/cmd/dlv,而且bin目录下也存在dlv.exe文件,用命令行执行 dlv.exe version得到的版本是1.2.1解决办法更新dlv因为本地已经存在,所以,需要用到-u参数,强制更新包以及依赖go get -u github.com/go-delve/delve/cmd/原创 2020-11-15 21:48:01 · 1620 阅读 · 0 评论
分享