
go
文章平均质量分 66
Bug 挖掘机
技术成长路上没有捷径,欢迎关注我
展开
-
利用Gorm批量更新DB数据
如果你有多条记录,每条记录的字段值都不一样,可以构建批量更新的 SQL 查询。假设你有一批不同的数据项,需要根据主键(ID)逐条更新每个记录的不同字段值。下面我详细拆解这个 SQL 语句的含义,并解释为什么要用这种方式来批量更新。选择合适的方案,取决于你的业务需求和性能要求。在实际业务中,批量更新多条数据时,可能每条记录的。的,它动态生成了一条带有 CASE WHEN。这样就能一次性更新多条记录的相同字段值。,减少数据库的多次交互,从而提升性能。不同用户的权限级别更新为不同值。不同订单的状态更新为不同值。原创 2025-01-10 17:34:10 · 1818 阅读 · 0 评论 -
go get找不到版本
原因是依赖库有更新,本地mac拉取代码后没有执行go mod tidy 直接上传到开发机器了,现在本地执行再上传开发机器。原创 2024-01-03 18:35:43 · 842 阅读 · 0 评论 -
【Go】无缓冲通道的Channel的用法
然后,通过匿名函数的接收操作 fmt.Println(<-ch),我们可以在另一个 goroutine 中接收并打印通道中的值。对于无缓冲通道(unbuffered channel),发送操作和接收操作都会导致阻塞,直到有对应的接收方或发送方准备好。在修正后的代码中,我们将 ch <- 13 放在了 goroutine 启动之后,这样在发送操作之前就有了一个接收操作准备好。请注意,当缓冲区已满时,后续的发送操作仍然会阻塞,直到有接收方接收了缓冲区中的值。原创 2023-05-18 16:34:11 · 530 阅读 · 0 评论 -
【Go】gin框架--路由参数
gin框架–路由参数源码package mainimport ( "github.com/gin-gonic/gin" "net/http")func main() { r := gin.Default() // 此 handler 将匹配 /user/john 但不会匹配 /user/ 或者 /user r.GET("/user/:name", func(c *gin.Context) { name := c.Param("name") c.String(http.Sta原创 2022-04-14 17:53:43 · 738 阅读 · 0 评论 -
【Go】golang strings包的Trim的使用说明
函数声明:func Trim(s string, cutset string) string主要功能去掉字符串s中首部以及尾部与字符串cutset中每个相匹配的字符,如:s="hello yes",cutset="he",那么s的结果为:"ello yes"官方描述:返回将 s 前后端所有 cutset 包含的 utf-8 码值都去掉的字符串示例代码:package mainimport ( "fmt" "strings" _ "test/subpac")原创 2022-04-14 17:43:05 · 4596 阅读 · 0 评论 -
【go】goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
问题写了个自定义的包 calc.go,在路径 $GOPATH/go_project/src/demo_51_package/com/目录下,其中main.go 是main方法的入口代码main.go 代码如下package mainimport "demo_51_package/com"func main() { add := calc.Add(1, 2) println(add)}calc.go代码如下package calc/** * 首字母大写才能别其他的包使用 */转载 2022-04-13 11:58:41 · 3665 阅读 · 2 评论 -
【go】网络编程-HTTP编程
12.3 HTTP编程12.3.1 概述12.3.1.1 Web工作方式我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢?对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才原创 2021-10-07 18:04:32 · 571 阅读 · 0 评论 -
【go】网络编程
文章目录12. 网络编程12.1 网络概述12.1.1 网络协议12.1.2 分层模型12.1.2.1 网络分层架构12.1.2.2 层与协议12.1.2.3 每层协议的功能12.2 Socket编程12.2.1 什么是Socket12.2.2 TCP的C/S架构12.2.3 示例程序12. 网络编程12.1 网络概述12.1.1 网络协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK原创 2021-10-05 16:51:50 · 209 阅读 · 0 评论 -
【go】go语言当中:=的用法
关于go语言当中,:=的用法,只要:=左边有一个新变量都可以用:=,否则只能用=,代码如下package mainimport ( "fmt")func main() { b,a:=1,2 c,a:=1,3 fmt.Println(a) fmt.Println(b) fmt.Println(c) //下面这种用法错误 //d:=1 //d:=2 这里需要是d=2}...原创 2021-10-04 17:48:14 · 7755 阅读 · 0 评论 -
【go】并发编程
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结11. 并发编程11.1 概述11.1.1 并行和并发11.1.2 Go语言并发优势11.2 goroutine11.2.1 goroutine是什么11.2.2 创建goroutine11.2.3 主goroutine先退出11.2.4 runtime包11.2.4.1 Gosched11.2.4.2 Goexit11.2.4.3 GOMAXPROCS11.3 channel11.3.1 channel类型11.3.2 无缓冲的ch原创 2021-10-04 15:04:44 · 181 阅读 · 0 评论 -
【go】异常,字符串操作,文件处理
9 异常处理9.1 error接口Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,该接口的定义如下:type error interface { Error() string}Go语言的标准库代码包errors为用户提供如下方法:package errorstype errorString struct { text string }func New(text string) error { return &原创 2021-10-01 17:57:34 · 470 阅读 · 0 评论 -
【go】面向对象编程
面向对象编程8.1 概述对于面向对象编程的支持Go 语言设计得非常简洁而优雅。因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。尽管Go语言中没有封装、继承、多态这些概念,但同样通过别的方式实现这些特性: 封装:通过方法实现 继承:通过匿名字段实现 多态:通过接口实现8.2 匿名组合8.2.1 匿名字段一般情况下,定义结构体的时候是字段名与其类型一一对原创 2021-07-25 16:05:10 · 263 阅读 · 1 评论 -
【go】goland无法读取第三方依赖包
采用的go mod 来管理第三方依赖包如果采用的go mod 来管理第三方依赖包,我们可以查看go.mod文件可以看到这里有部分第三方依赖包,本地是没有的,执行go mod download 命令,可以把第三方依赖包下载到本地。如果执行完go mod download 命令 。ide还是飙红 missing dependency ,是因为本地存在多个版本的第三方模块缓存。解决方式1:可以执行go clean --modcache。再执行go run main.go或者go build 重新编译原创 2021-07-24 16:54:34 · 9841 阅读 · 1 评论 -
【GO】复合数据类型
复合类型文章目录复合类型前言分类指针基本操作new函数指针做函数参数数组概述操作数组在函数间传递数组切片切片概述切片的创建和初始化切片的操作切片做函数参数map概述创建和初始化常用操作map做函数参数结构体结构体类型结构体初始化结构体成员的使用结构体比较结构体作为函数参数可见性随机数的使用冒泡排序猜数字游戏数组,切片,map,结构体的区别前言主要是介绍go语言复合数据类型,包括指针,切片分类指针指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。原创 2021-04-18 22:39:44 · 448 阅读 · 0 评论 -
【go】编译运行程序go build以及go run命令
go程序运行方式第一种:先用go build编译生成可执行程序,再单独执行可执行程序第二种:直接运行go run命令原创 2021-04-17 14:20:02 · 1435 阅读 · 0 评论 -
【go】GOPATH的设置
前言可以用go env 查看当前gopath的设置路径windows设置方法linux设置方法原创 2021-04-17 14:15:38 · 798 阅读 · 0 评论 -
【GO】函数,工程管理
文章目录函数定义格式自定义函数递归函数函数类型回调函数匿名函数和闭包闭包捕获外部变量的特点闭包(匿名函数)的特点延迟调用defer多个defer的执行顺序defer和匿名函数结合使用获得命令行参数作用域工程管理包自定义包main包main函数和init函数导入包点操作别名操作_操作工作区工作区介绍GOPATH设置案例:工程管理,同级目录二、使用步骤1.引入库2.读入数据总结函数介绍go语言的函数相关知识定义格式函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参原创 2021-04-13 15:18:51 · 214 阅读 · 0 评论 -
【GO】标准命令,启动go程序,命名,变量,常量,fmt格式化输入输出,基础数据类型,类型转换,类型别名,运算符,if,switch,for,range,goto使用
标准命令Go语言中包含了大量用于处理Go语言代码的命令和工具。其中,go命令就是最常用的一个,它有许多子命令。这些子命令都拥有不同的功能,如下所示。 build:用于编译给定的代码包或Go语言源码文件及其依赖包。 clean:用于清除执行其他go命令后遗留的目录和文件。 doc:用于执行godoc命令以打印指定代码包。 env:用于打印Go语言环境信息 fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用 fmt:用于执行gofmt命令以格原创 2021-03-28 22:00:24 · 598 阅读 · 0 评论 -
【go】mac安装go环境,使用goland运行go语言的项目
mac安装go环境1、安装brew install go2、验证是否安装成功go version通过命令 go version 来查看当前安装的 Go 的版本号3、环境变量的设置go env配置我们的环境变量,在~目录下使用ll -all命令查看是否有.bash_profile文件,如果没有,则创建一个,有就vim编辑。export GOPATH=/Users/username/goexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOBI原创 2021-03-19 16:00:16 · 3690 阅读 · 0 评论