标签:go

Go数据库迁移

Go数据库迁移

0. 简介 本文将介绍两个Go生态中常见的数据库迁移工具——golang-migrate和gormigrate。 1. golang-migrate golang-migrate的官方Github是链接。它提供了客户端的方式使用,也可以使用Go SDK调用的方式使用。其各种安装方式详见链接。 对于每

剑圣无痕 剑圣无痕 2023-07-19
0 0 0
Go进阶面试题详解

Go进阶面试题详解

1.逃逸分析逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。问题描述:有如下Go代码:func foo() *int { x := 1 return &x } func main(

穿过生命散发芬芳 穿过生命散发芬芳 2023-07-18
0 0 0
Go语言开发者的Apache Arrow使用指南:高级数据结构

Go语言开发者的Apache Arrow使用指南:高级数据结构

经过对前面两篇文章《Arrow数据类型》[1]和《Arrow Go实现的内存管理》[2]的学习,我们知道了各种Arrow array type以及它们在内存中的layout,我们了解了Go arrow实现在内存管理上的一些机制和使用原则。Arrow的array type只是一个定长的、同类型的值序列

醒在深海的猫 醒在深海的猫 2023-07-18
0 0 0
Go 语言怎么使用类型转换和类型断言?

Go 语言怎么使用类型转换和类型断言?

01 介绍Go 语言是强类型编程语言,一些使用弱类型编程语言的读者朋友们在初学 Go 语言时,多多少少都会不太适应 Go 语言的类型。Go 语言变量类型包含基础类型和复合类型,类型转换和类型断言一般是对基础类型的处理,基础类型包含整数、浮点数、布尔和字符串。其中整数类型又称为整型,分为有符合和无符号

三掌柜 三掌柜 2023-07-18
0 0 0
在 Go 中如何编写测试代码

在 Go 中如何编写测试代码

在程序开发过程中,测试是非常重要的一环,甚至有一种开发模式叫 TDD(测试驱动开发),先编写测试,再编写功能代码,通过测试来推动整个开发的进行,可见测试在开发中的重要程度。 为此,Go 语言提供了 testing 框架来方便我们编写测试,本文将向大家介绍在 Go 中如何编写测试代码。 测试分类 在

Escape Escape 2023-07-17
0 0 0
Go函数和方法之间有什么区别

Go函数和方法之间有什么区别

前面分享了一个篇,关于如何理解 Go函数是一等公民,今天继续来聊聊,在Go中,函数与方法之间的区别。 基础知识 在了解两者不同之前,还是简单的回顾一下基础语法知识。下面的实例,定义一个函数和方法,然后调用函数和方法。 package main import "fmt" // 函数和方法 func

大树 大树 2023-07-17
0 0 0
为什么说Go中的字符串是不能被修改的

为什么说Go中的字符串是不能被修改的

在接触Go这么语言,可能你经常会听到这样一句话。对于字符串不能修改,可能你很纳闷,日常开发中我们对字符串进行修改也是很正常的,为什么又说Go中的字符串不能进行修改呢? 本文就来通过实际案例给大家演示,为什么Go中的字符串不能进行修改。 在演示这个问题之前,我们先对字符串类型的基础知识做个大致的演示,

共饮一杯 共饮一杯 2023-07-17
0 0 0
【Go语言开发简单了解一下搜索引擎并用go写一个小demo

【Go语言开发简单了解一下搜索引擎并用go写一个小demo

写在前面 这篇文章我们一起来了解一下搜索引擎的原理,以及用go写一个小demo来体验一下搜索引擎。 所有资料都可以去我同名公众号 回复 搜索引擎 获取哦~ 视频讲解在这里:https://www.bilibili.com/video/BV16j411d7g3 简介 搜索引擎一般简化为三个步

穿过生命散发芬芳 穿过生命散发芬芳 2023-07-16
0 0 0
GO是否需要一个类似于MybatisPlus的全自动ORM框架?

GO是否需要一个类似于MybatisPlus的全自动ORM框架?

背景 去年慢慢开始接触了Go语言,在接触了一些Go的ORM框架之后,感觉用的不是很顺手,之后萌生了写一个Go版本的全自动ORM框架的想法。本来想着从零开始实现的,但是又觉得工作量挺大的,何不站在巨人肩膀上造一个呢。 于是我在Grom的基础上写了一个Gorm-plus,之后在掘金就发一篇简单的介绍。

贤蛋大眼萌 贤蛋大眼萌 2023-07-16
0 0 0
初识golang(1)

初识golang(1)

在go语言中的代码文件中最上层会定义一个package声明开头,说明源文件所属的包而后使用Import导入依赖的包,其次为包级别的变量,产量,类型和函数的什么和赋值函数中可定义局部的变量和常量等。如下:package main import "fmt" func main(){ fmt.Prin

贤蛋大眼萌 贤蛋大眼萌 2023-07-15
0 0 0
go程序组成的基本单位(2)

go程序组成的基本单位(2)

这和其他的语言一般无二。标识符标识符是编程时候使用的名字,这个名字可以是变量,产量,函数,类型,接口,包,以及后续的结构体都是由名字组成最终访问的也是通过标识符名字访问的。通过标识符建立名称和使用的关系。在go语言中的标识符有非空的字母组成(unicode),数字,下划线(_)组成unicode意味

穿过生命散发芬芳 穿过生命散发芬芳 2023-07-15
0 0 0
go初识常量语法(4)

go初识常量语法(4)

常量常量和变量不同,变量是可以赋值进行修改的,而常量是不能修改的。在使用中有一些值是我们不希望更改的,就可以声明成常量。通常,我们习惯与将常量写为大写。定义一个常量常量可以定义在函数体内和函数体外 const name string = "mark" fmt.Println(name)

泡泡 泡泡 2023-07-15
0 0 0
go布尔类型(7)

go布尔类型(7)

布尔类型用于表示真假,类型名为bool,只有两个值,分别是true和false。0值默认是falsepackage main import "fmt" func main(){ var hhlo bool helo := true hell := false

共饮一杯 共饮一杯 2023-07-15
0 0 0
go浮点数float类型简述(9)

go浮点数float类型简述(9)

在go中浮点有两种类型,一种是float64,一种是float32。一般使用float64即可定义与赋值默认是0值package main import "fmt" func main(){ var floatt float64 fmt.Println(floatt) }运行[roo

宇宙之一粟 宇宙之一粟 2023-07-15
0 0 0
go字符串string类型简述(10)

go字符串string类型简述(10)

字符串也可以作为算数运算,比如拼接。字符串也可以作为关系运算。赋值运算。可以通过索引获取。字符串定义内容必须是ascii,可以作为切片。而切片必须配置一个start和end。通常,我们可以使用len来获取字符串长度,并且可以使用len(string)-1来获取字符串最后一位定义字符串我们在定义字符串

竹子爱熊猫 竹子爱熊猫 2023-07-15
0 0 0
go指针简述(11)

go指针简述(11)

通常而言,在go中,元素赋值一个变量A后,A变量如果在赋值给另外一个变量B,相当于一次复制。对于底层内存地址来讲,对于二次赋值的变量B修改元素,是不会修改到A变量的值,这是因为变量B的内存地址以及发生改变,如果需要修改到变量A,A就需要使用指针调用来赋值给B,大致意思是A和B使用同一个内存地址。认识

捡田螺的小男孩 捡田螺的小男孩 2023-07-15
0 0 0
go流程控制之for range(15)

go流程控制之for range(15)

for range在go中非常常用,可以遍历字符串,数组,切片,映射,管道。for range一般而言,for range遍历,有一个索引和一个值,这与需要变量的对象有关。 简单的认为一个是索引index,和一个value即可desc := "我是marksugar" for index,value

三掌柜 三掌柜 2023-07-15
0 0 0
go流程控制之brack和continue(16)

go流程控制之brack和continue(16)

brack和continue 只能在for循环中使用,这在很多语言中都类似,但是在下一篇中我们会介绍goto的用法,这与其他的语言不同brack和continue我们先定义,i:=0,并且i<5,正常情况下,将会打印0~4package main import "fmt" func main(

LOVEHL^ˇ^ LOVEHL^ˇ^ 2023-07-15
0 0 0
go错误处理和延迟执行(34)

go错误处理和延迟执行(34)

go语言通过error接口实现错误处理的标准模式,在go中山没有异常的,可以通过返回值信息告诉调用者是否发生了错误。一般而言,我们需要定义返回错误的值,如果没有定义错误处理,那就会抛出错误信。1.错误处理errors.New()error接口通常error接口,通过errors包中的errors.N

法医 法医 2023-07-15
0 0 0
go包管理和go mod(35)

go包管理和go mod(35)

在go中包是一个代码的组织方式,代码最后的分发都是以包的方式分发的。包也是go中最小的分发单位。包也是函数和数据的集合,将相关特性的函数和数据放在同一的文件/目录进行管理,每个包都可以作为独立的单元维护并提供给其他项目进行使用。通常,包中存放的就是变量,函数,产量,结构体等等。go源文件都需要在开头

宇宙之一粟 宇宙之一粟 2023-07-15
0 0 0
1 88 89 90 91 92 96