自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 goland 、pycharm 等如何进行debug模式

直接选中自己要运行的项目入口文件, 然后鼠标右击,选择 debug 模式, 编译器大概率就会配置到工作目录,单当运行的时候 如果出现 配置文件 等找不到的情况,然后只需要修改下 配置就可以。当你的项目不是单独的项目,而是很多微服务在一起,大概率会遇到这个情况,debug运行项目的时候会提示 配置文件找不到等类似的问题。这个时候不用慌,其实是你的工作目录配置的不对。点击 Appy 然后点击 ok。然后 点击编译器的瓢虫 debug 按钮,项目就debug 模式跑起来了。

2024-06-21 12:36:22 191

原创 10年程序员生涯收藏的自我修炼宝藏网站太齐全了

程序员最全的自我修炼网站合集

2024-04-22 21:19:09 549

原创 golang 获取一个切片中的最大值的高效方法

这个其实不难,思路就是先假定第一个元素是最大值,然后遍历去和其他的元素做比较,遇到更大的就替换更新,最终我们就获取到了最大值。其实两个方法几乎是一模一样的。同样,如果要获取最小值,也是一样的,假定第一个最小,然后遍历寻找更小的替换赋值即可。要求是自己是实现,不要用内置的sort 方法。方法1:通过值的判断。

2024-04-12 18:12:28 329

原创 golang中基础数据结构和数据操作方法

go 语言数据结构和操作方法整理

2024-04-11 14:06:03 204

原创 一篇文章说清楚Golang 之切片与数组

切片是一个可以动态分配大小的连续的内存空间,用于保存形同类型的数据。而数组是一个拥有固定长度的连续内存空间,固定长度就是指我们在申请一个数组的时候,就必须确定这个数组的大小,确定之后数组的大小是没办法改变的,我们只能修改数组内部元素,但无法改变数组大小。

2024-04-11 12:30:55 383

原创 golang 之并发数控制以及互斥锁

go 语言之并发数控制 并发安全锁

2024-04-10 11:06:19 220 1

原创 go 两个goroutine 分别交替执行如何实现

我用打印数字来做案例吧。

2024-04-10 11:00:00 209 1

原创 golang 的channel 之deadlock

我们就拿阻塞型通道距离,阻塞型通道是 一个 groutine 如果发送数据过去,如果通道的数据没有被接收,当前goroutine 一定是会一直阻塞,处于等待管道数据被接收后才可以继续往下执行。所以说 goroutine 它不是简单的容器,而是一个不同goroutine之间进行 沟通传递数据的渠道。理解了这一点,就会返现上面程序明显有问题,因为只有一个主线routine, 把数据发送到了通道,意味着这个通道的数据永远没办法被接收。原因其实是对通道理解有一定的偏差,把它成像 队列一样,其实是有本质区别的。

2024-04-09 20:34:43 120

原创 golang 之 channel 和goroutine 协同 完成任务

两个goroutine 能够交替合作,是利用了channel 的特性,通道发送方如果发送了数据,一直没有被接收,goroutine 将阻塞等待。同样,如果接收方如果一直等不到发送方发送数据,也一直处于等待阻塞状态。消费方收到生产方发来的信号,告知生产方ok,不再从管道获取数据。一个生产数据数据 把生产的数据放入到channel。当生产这边生产完毕后,发送一个信号,告知消费方。一个从channle 获取消费数据。生产方收到回答后,程序结束。两个goroutine。

2024-04-09 19:31:50 164

原创 一篇文章说清楚 golang之interface

其实通过空接口保存数据,从效率层面来说是比较慢的,如果参数类型确定,肯定是对应的类型比较合适,所以见多一些为了拓展性和兼容性,全部都是interface类型的参数,你怎么看?

2024-04-09 16:06:03 1193

原创 golang 如何进行初始化对象的

案例中,我们通过NewPeople 这样的函数进行封装对对象的初始化操作。我们看到 golang 和python 两个 运行结果也是一样的。我们都知道Python 在创建类的时候有初始化函数,在创建对象的时候就自动调用了初始化函数进行赋值的操作。我们看到根据 给定的 字符串类类型的输入参数 初始化一个错误类型,同样也是通过这样的方式进行封装。那么在go 语言当中的初始化函数在哪里呢?其实go语言自己没有这样的实现,但我们可以自己去写。其实我们在golang 源码中可以看到大量的初始化封装。

2024-04-09 14:11:06 182

原创 golang 之函数返回 return 为啥有时候有参数有时候没参数?

函数 retun 的时候是否要加返回值类表

2024-04-09 13:21:17 139

原创 golang 之 panic and recover

go 语言 没有 try exception 这样的功能机制来捕获异常,正常情况下都是通过 err 来进行判断处理,但是如果当 程序遇到比较严重或者致命的问题,这种方式显然就不合适了。first in last out.当遇到严重错误的时候,可以用panic 获取致命的错误,用recover 来进行程序的回复,不让程序因为恐慌而终止崩溃。当我们执行调用Demo 1函数的时候,程序会抛出panic,程序终止,后面的内容也将不会执行。

2024-04-09 11:32:03 119

原创 Goland 无法Debug 调试-undefined behavior - version of Delve is too old for Go version 1.21.0

Delve是Go语言的一个调试工具,用于提供源码级别的调试功能。Go语言每隔一段时间会发布新版本,而相应的调试器Delve也可能会更新以提供新的特性或修复已知问题。然后最简单的方式 就是 用这个最新的dlv.exe文件 去替换自己goland 目录下的 旧的dlv.exe文件,{goland安装目录}\plugins\go\lib\dlv\windows\dlv.exe。安装成功后,你会在自己的 GOPATH 目录的、bin目录下,看到dlv.exe的文件。第一步:下载并安装,执行以下命令即可。

2024-04-09 09:52:19 773

原创 golang 之接口实现

总结:接口不关心实现是一个结构体还是几个几个结构体共同实现的。

2024-04-08 20:35:48 110

原创 go 结构体内部定义的内嵌结构体的初始化方法

这里记得有一次一个赋值试了好多次就是不对,今天又折腾了三遍,记录下,

2024-04-08 17:55:19 83

原创 Go 语言 结构体实例化的方法

go 语言结构体初始化方法

2024-04-08 14:38:22 229

原创 err :untyped int constant

报错原因是将一个非常大的整数字面量赋值给一个int类型的变量,但是这个整数字面量超出了int类型的最大可表示范围。在大多数编程语言中,int类型通常有一个固定的大小,例如在Java中,int类型的范围是-2147483648到2147483647。

2024-04-08 10:34:56 159

原创 Golang 序列化和反序列化

Go 序列化和反序列化

2022-09-29 16:42:58 315

原创 一次搞定各种打印

发现个问题,是否经常使用 各种Print 但却经常出错,日志输出经常出现格式不对的问题,今天它来了,我们一次搞定各种 print 输出。

2022-09-28 10:51:49 102

原创 golang 面向对象编程

golang 接口的封装和实现 面向对象编程

2022-08-18 16:38:51 167

原创 mysql数据库建表失败

问题描述:创建数据表提示失败table DDLCREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `password` varchar(64) COLLATE utf8mb4_general_ci NOT NULL,

2022-04-16 16:52:00 2122

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除