
【Go】
晓风残月一望关河萧索
志存高远,脚踏实地。
路漫漫其修远兮,吾将上下而求索。
展开
-
大白话!go语言中的指针、指针类型的方法接收器
go指针,指针接收器原创 2024-04-21 21:41:17 · 625 阅读 · 0 评论 -
大白话!go语言中的slice底层原理,slice扩容机制
slice底层原理原创 2024-04-14 17:30:34 · 942 阅读 · 0 评论 -
go中的rune类型
汉字的16进制值得区间在UTF-8的第三区段,那么在go的编码下会占用三个字符。看上面的结果The Shy: 7,这个好理解,英文的字符串的长度为7,英雄联盟: 12。将Unicode码点转换为对应的字符(汉字)。其中,%c 是一个占位符,表示将一个Unicode码点格式化为对应的字符。rune其实就是int32的数据类型,对于汉字等,将汉字转化为Unicode码点。结果打印:打印出字符在字符串中的索引位置 k 和对应的Unicode码点 v。go语言中 ,rune其实是一种int32的数据类型的别名。原创 2023-11-11 18:39:38 · 13368 阅读 · 0 评论 -
go语言,yaml实现简单的workflow工作流
工作流的作用就是通过yaml配置文件,将关于本工作流的一个个task任务串联起来形成一个大的功能体。通过加载yaml,将任务执行的顺序固定化。yaml都是key:value结构。- 代表的是一个数组,数组中的元素是key:value结构,这个value还可以是数组类型等等。1.创建一个yaml文件,名字可以是student.yaml。现在举个具体的案例,来实现一个简易的工作流,更加通俗易懂。这里举了一个用户注册的功能。我把参数信息都打印出来了。创建一个main.go。2.创建go文件测试。原创 2023-10-28 20:38:46 · 14137 阅读 · 0 评论 -
go语言中比较函数 reflect.DeepEqual(a any,b any) 注意小坑
reflect.DeepEqual(a any,b any)主要比较切片,map的深度是否一致,包括数据的值,以及数据类型是否一致。但是在比较的时候如果mapA,和mapB的顺序不一致,会返回false。创建2个user1.json,user2.json,代码如下。原创 2023-10-16 20:33:00 · 1165 阅读 · 0 评论 -
go语言中结构体tag使用
go中的tag原创 2023-10-08 10:22:57 · 1192 阅读 · 0 评论 -
go中bson的基本操作,bson.M,bson.D,bson.A,bson.E
go中的bson原创 2023-10-08 09:47:21 · 6868 阅读 · 0 评论 -
【go语言基础】go类型断言 type switch + case,t := x.(type)
switch x.(type)原创 2023-09-19 14:11:57 · 1905 阅读 · 0 评论 -
【go语言基础】go中的方法
方法是从属于某个结构体或者非结构体的。在func这个关键字和方法名中间加了一个特殊的接收器类型,这个接收器可以是结构体类型的或者是非结构体类型的。这个结构体做为值接收器需要拷贝整个结构体,这个代价十分昂贵,这种情况下使用指针接收器,结构体不会被拷贝,只会传递一个指针到方法的内部。当拷贝一个结构体的代价过于昂贵的时候,比如说结构体中有很多字段,如果方法内使用。指针接收器可以使用在:对方法内部的接收器所做的改变应该对调用者可见时。大多数方法都使用的是结构体从属,注意传递的是值传递还是指针传递。原创 2023-08-11 16:57:14 · 717 阅读 · 0 评论 -
【go语言基础】结构体struct
go语言中的结构体原创 2023-08-11 14:35:39 · 820 阅读 · 0 评论 -
【go语言基础】指针数组和数组指针
数组指针,指针数组原创 2023-08-10 19:54:20 · 642 阅读 · 0 评论 -
【go语言基础】go语言随机数rand.Seed() rand.Intn()用法
go语言中的rand.Seed()用法原创 2023-01-14 21:23:04 · 14764 阅读 · 0 评论 -
【go语言基础】go语言中的闭包
详解go语言中闭包原创 2023-01-06 23:26:43 · 8602 阅读 · 0 评论 -
【go语言基础】go run和go build 区别
go基础,go run build区别原创 2022-11-18 11:26:04 · 10484 阅读 · 0 评论 -
【详解图解清晰】golang工程部署到docker容器
1、基础概念①Docker镜像Docker 镜像是一个特殊的文件系统,除了提供容器所需的程序、库、资源、配置等文件外,还包含了一些能为运行时准备的一些配置参数(匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后不会被改变。②Docker容器Docker 容器是一个在运行的Docker镜像的实例(instance)。包括服务或应用的状态和其他动态的数据。③镜像和容器小结:可以理解为:镜像是一个类,容器是类的一个实例。容器是一个动态的。④Doc...原创 2021-09-25 23:46:12 · 2665 阅读 · 0 评论 -
【详解】go语言中Printf()、Sprintf()、Fprintf() 区别
Printf()、Sprintf()、Fprintf() 函数都是输出格式化字符串,只是输出到的目标不一样:① Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可以重定向)②Sprintf() 是把格式化字符串输出到指定的字符串中,可以用一个变量来接受,然后在打印var str stringstr = Sprintf("%s",s)③Fprintf() 是把格式字符串输出到指定的文件设备中,所以参数比Printf 多一个文件指针*File主要用于文件操作,Fpr.原创 2021-09-21 14:06:57 · 2249 阅读 · 0 评论 -
【已解决】安装Gin出现:go get: module github.com/gin-gonic/gin: Get “https://proxy.golang.org/github.com/
# 设置goproxy.io代理go env -w GOPROXY="https://goproxy.io"# 设置GO111MOUDLEgo env -w GO111MODULE="on"以上是Window的设置。接下来就下载就可以了。go get -u github.com//gin-gonic/gin原创 2021-09-19 22:46:23 · 3466 阅读 · 0 评论 -
Go运行Gin框架,已安装Unresolved dependency
在安装gin框架的时候,明明已经安装好了。但是gin的包就是引入失败,出现Unresolved dependency。下面给予解决办法:go get -u github.com//gin-gonic/gin在File-->Setting-->Go Modules --> Enable Go modules integration发现导包成功!...原创 2021-09-19 14:52:59 · 804 阅读 · 0 评论 -
【详解】go语言中的new关键字
new关键字是用来分配内存的函数,new(Type)作用是为T类型分配并清零一块内存,并将这块内存地址作为结果返回。也就是说new(T)会为类型为T的新项分配已置零的内存空间,并返回它的地址。在go中,返回一个指针,指针指向新分配的内存,类型为T类型的零值。type Buf struct{ a int b string}// 为Buf分配内存空间,返回是指针类型 type *pp := new(Buf)// q的类型是Buf类型var q Buf...原创 2021-09-15 22:38:09 · 2050 阅读 · 0 评论 -
【详细】GoLand配置git
官网下载git:https://gitforwindows.org/下载安装后,记住自己的安装路径然后配置GoLand:Setting-->Version Control-->Git-->Path to Git executable ,安装路径下的Git->cmd->git.exe,出现版本信息说明配置成功。...原创 2021-09-09 16:16:52 · 10793 阅读 · 0 评论 -
【详解】Go语言中的下划线的使用
1、import中的下滑线import( _ "net")此时“_”的作用是:当导入一个包的时候,不需要把所有的包都导进来,只需要导入使用该包下的文件里所有的init()的函数。package mainimport _ "hello/imp"func main() { //imp.Print() //编译报错,说:undefined: imp}2、下划线在代码中作用是:下划线在代码中是忽略这个变量也可以理解为占位符,那个位置上本应该赋某个值,但是我们不原创 2021-09-10 16:42:56 · 1697 阅读 · 0 评论