自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PHP调用递归函数返回结果始终为null

res 是有值的为数组。但是返回结果却为null。这是因为在递归调用自身时没有加return。

2023-07-17 17:23:33 243

原创 laravel中获取orm的原生sql语句

【代码】laravel中获取orm的原生sql语句。

2023-07-05 12:00:20 425

原创 golang学习笔记--WaitGroup

求出n以内的素数并打印出来。

2023-05-18 19:08:24 170

原创 golang学习笔记--泛型编程

/ 支持 uint8 、int32 、 float64 与 int64及其衍生类型// ~ 标识支持类型的衍生类型// | 表示取并集// 多行之间取交集// MyInt64 为int64的衍生类型,具有基础类型int64的新类型,与int64是不同类型// MyInt32 为 int32 的别名,与 int32 是同一类型fmt.Println("自定义泛型,数字比较:", GetMaxCusNum(a, b))

2023-05-16 19:41:16 531

原创 golang学习笔记--go mod依赖管理

例如go.mod文件。

2023-05-16 17:47:06 649

原创 golang学习笔记--redis

安装redis库。

2023-05-16 14:43:29 93

原创 golang学习笔记--socket

golang可以使用。

2023-05-15 17:19:40 55

原创 golang学习笔记--反射

1、编写一个Cal 结构体,有 两个字段 Num1,和Num2。4、使用反射机制完成对GetSub 的调用,输出形式为。2、方法 GetSub(name string)"tom 完成了减法运行,8 -3 = 5"3、使用反射遍历Cal结构体所有的字段信息。

2023-05-15 15:48:47 54

原创 golang学习笔记--defer+recover捕获异常

【代码】golang学习笔记--defer+recover捕获异常。

2023-05-14 15:20:00 157

原创 golang学习笔记--管道 channel

/定义一个管道只能存入int类型的数据//管道必须make才能使用fmt.Printf("intChan 的值是%v,地址是%p", intChan, &intChan)可以看出管道是引用类型,他的值是内存中真正的管道的地址。

2023-05-12 17:28:11 314

原创 golang学习笔记--协程 Goroutine

1、Go主线程(有程序员直接称为线程/也可以理解成进程): 一个Go线程上,可以起多个协程,你可以这样理解,协程是轻量级的线程。2.从微观的角度看,在一个时间点上,就是多个任务在同时执行.2.从微观的角度看,在一个时间点上,其实只有一个任务在执行。2.3、空间调度由用户控制。2.4、协程是轻量级的线程。2.1、有独立的栈空间。1.多个任务作用在一个cpu。1.多个任务作用在多个cpu。3.这样看来,并行的速度快。可以并行执行代码程序。

2023-05-12 15:58:47 96

原创 golang学习笔记--MPG模型

G(Goroutine):协程,有自己的栈。一个P下面可以有多个G。P(Processor):协程执行需要的资源(上下文context),可以看作一个局部的调度器,使go代码在一个线程上跑,他是实现从N:1到N:M映射的关键。2、M1,M2,M3正在执行一个G,M1的协程队列有三个,M2的协程队列有3个,M3协程队列有2个。1、当前程序有三个M,如果三个M都在一个cpu运行,就是并发,如果在不同的cpu运行就是并行。3、从上图可以看到: Go的协程是轻量级的线程,是逻辑态的,Go可以容易的起上万个协程。

2023-05-12 15:33:26 235

原创 golang学习笔记--单元测试

创建 _test.go 结尾的文件写测试用例。通过testing包可以轻松的进行单元测试。该命令执行当前包所有的测试函数。

2023-05-10 16:53:11 59

原创 golang学习笔记--命令行参数

golang中是可以获取到在命令行中,执行命令时后面跟的参数的,使用 os.Args

2023-05-06 16:47:41 376

原创 golang学习笔记--文件操作

在go中要操作文件需要使用包//打开文件的常量,可以使用 | 拼接使用多个const (O_RDONLY// 只读模式打开文件O_WRONLY// 只写模式打开文件O_RDWR// 读写模式打开文件O_APPEND// 写操作时将数据附加到文件尾部O_CREATE// 如果不存在将创建一个新文件O_EXCL// 和O_CREATE配合使用,文件必须不存在O_SYNC// 打开文件用于同步I/OO_TRUNC// 如果可能,打开时清空文件。

2023-05-06 15:21:42 453

原创 golang学习笔记--类型断言

将一个float32类型的 f 变量交给 空接口类型的 i 是可以的。并且 i 的数据类型也变成了 float32。在进行类型断言时,如果类型不匹配,就会报 pamic,因此进行类型断言时,要确保原来的空接口指向的就是断言的类型。我们直接断言 i 就是 float32 类型,如果真的是 float32 就会正常赋值,如果不是则会报错。但是又定义了一个float32类型的 f2 并将 i 赋值给 f2 时却会报错。如何在进行断言时,带上检测机制,如果成功就 ok, 失败也不要报 panic?

2023-04-25 16:37:54 281

原创 golang学习笔记--使用sort包对切片排序

查看go语言标准库文档,使用sort.Sort()可以对结构体切片进行排序。参数是一个接口,该接口里声明了 len() Less() Swap() 三个方法,所以我们要排序的结构体需要依次实现这三个方法。切片是引用类型,所以不需要其他变量接收返回值。

2023-04-25 14:37:55 204

原创 golang学习笔记--接口 interface

只要一个变量含有接口类型中的所有方法,那么这个变量就实现了这个接口。3、在 Golang 中,一个自定义类型如果将某个接口的所有方法都实现,我们说这个自定义类型实现了该接口。9、空接口 interface() 没有任何方法,所以所有类型都实现了空接口,即我们可以把。1、接口里的所有方法都没有方法体,即接口的方法都是没有实现的方法。接口体现了程序设计的。别的接口(比如B,C接口),这时如果要实现A接口,也必须将B,C接口的方法也全部实现。2、接口中所有的方法都没有方法体,即都是没有实现的方法。

2023-04-24 17:33:15 262

原创 golang学习笔记--面向对象三大特性

把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。就是的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为这里写了一个staff的包来实现封装的特性, 里面定义了一个staff的结构体,其中Name是公开的,id和sal是私有的,只能通过GetXxx和SetXxx方法访问和修改调用staff包​。

2023-04-23 18:00:24 178

原创 golang学习笔记--工厂模式

在项目中有时会定义一个小写的结构体,如下定义了一个学生的结构体,首字母小写代表private。这时其他包是不能调用该结构体获取。定义一个 GetStudent函数,传入结构体所需的参数,返回student结构体的指针。其中age属性也是小写的,也不能直接访问,定义一个GetAge 方法,返回age字段。

2023-04-23 13:59:05 37

原创 laradock中安装laravels的宿主机5200端口不能访问

随后打开laradock的env文件在里面添加 WORKSPACE_LARAVELS_PORT=5200。配置laravel文件中env文件添加 LARAVELS_LISTEN_IP=0.0.0.0。并在如下位置添加 "${WORKSPACE_LARAVELS_PORT}:5200"正常安装好laravels后并启动,但是在本地访问5200端口确仍然不能访问。确认5200端口是否做了主机端口映射。

2023-04-20 19:00:00 257

原创 记一次laradock安装swoole扩展时出现的错误

报错:load metadata for docker.io/laradock/workspace:latest-7.4:运行docker-compose build php-fpm workspace时。后面再出现上述报错就继续docker pull对应的镜像。laradock 的.env文件下面修改以下两个参数。

2023-04-20 16:06:53 195

原创 golang学习笔记--方法

2、test 方法只能通过 Person 类型的变量来调用,而不能直接调用,也不能使用其它类型变量来调。3、因为结构体是值类型,所以方法中修改的值不会影响到main中的person1。1、test 方法和 Person 类型绑定。

2023-04-16 18:39:48 73

原创 golang学习笔记--结构体 struct

2、结构体变量(实例)是具体的,实际的,代表一个具体变量。2、结构体变量的地址是指向结构体中第一个元素的地址。1、结构体是自定义的数据类型,代表一类事物。通过下面代码可以看出。

2023-04-15 22:53:59 119

原创 golang创建一个数组循环存放26个英文字母

使用byte类型,获取A对应的ASCII数字65,然后循环加1获得26个字母对应的ASCII数值,再用%c输出还原该数字对应的ACSii码字符,就得到A-Z。字符数据运算 'A' + 1 = 'B'。

2023-04-12 18:11:38 356

原创 golang学习笔记--日期函数

要使用日期相关的函数需要引入time包,Now()函数会返回当前本地时间,返回的是一个time.Time类型的结构体,里面内置了很多方法可以使用。Millisecond = 1000 * Microsecond //毫秒。Second = 1000 * Millisecond //秒。Microsecond = 1000 * Nanosecond //微妙。1970年1月1日 0点0分0秒。

2023-04-12 16:56:02 1312

原创 golang学习笔记--函数

每个包都可以定义一个init函数,init函数会在包中第一个自动执行,可以在其中写一些初始化的逻辑处理。当引入的包中也含有init函数时,会优先执行引入的包中的init函数,引入多个包时,执行顺序为从上到下的引入顺序。

2023-04-10 23:01:19 80

原创 golang学习笔记--包

一个目录下只能有一个包名,这里建议和目录名保持一致,函数名首字母必须大写才能被其他包使用。1、首先找到自己的代码存放目录,并复制路径,注意这里是复制src所在的目录路径,因为当引入包的时候系统会自动从设置的环境变量路径的src目录下开始寻找。要使用其他包下函数时,需要先引入包的路径,从src目录下开始寻找 ,这里我的路径为 gocode/project02/dbuntils。4、变量名 GOPATH ,值为代码存放的目录,填好后点击确定就设置完毕了。是因为在一个目录下的两个文件的包名不一样导致的。

2023-04-03 14:59:51 114

原创 golang学习笔记--变量和数据类型

如下代码可以自定义数据类型,就是复制int32类型取名为myInt类型,类似取别名。但是要注意,虽然它复制了int32 ,但并不能和原本的类型互相赋值。

2023-03-29 18:03:57 463

原创 golang学习笔记--第一段代码

在该文件下输入如下代码,这里注意函数 Println 的大小写,如果写错运行时将会报错。执行该命令后可以看到当前所在目录下多了一个 test.exe文件,这个就是编译后的文件。直接运行这个文件,可以看到正常运行了之前写的代码并输出了 Hello Golang。在终端输入go build命令,该命令是将代码源文件进行编译。在vscode中打开该目录,并创建一个test.go的文件。当然在开发中也可以直接使用go run命令来运行代码。在源文件test.go所在的目录下打开终端。

2023-03-29 15:26:04 57

原创 golang笔记--开发环境搭建

Go (又称 Golang) 是 Google 的 Robert Griesemer, Rob Pike 及 Ken Thompson 开发的一种计算机编程语言语言。vscode的相关配置修改

2023-03-29 14:58:53 166 1

空空如也

空空如也

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

TA关注的人

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