- 博客(97)
- 收藏
- 关注
原创 laraval6.0 GatewayWorker 交互通信
GatewayClient 官网:https://www.workerman.net/绑定用户 和 消息推送。到这里说明已经交互成功。当前使用的是宝塔操作。
2023-11-29 17:48:17
620
原创 getid3 获取视频时长
2.我在laravel6.0 中使用 需要在composer.json 自动加载 否则系统访问不到。在命令行 执行 composer dump-autoload。1、首先,我们需要先下载一份PHP类—getid3。
2023-11-09 15:18:56
787
原创 laraval 远程一对一
A表:用户表 memberid nickname sex 1 AAAAA 1 B表:员工信息表 staffid member_id department_id name 1 1 1 moy C表:员工部门表 departmentid name 1 技术部 使用场景: A表 关联 B表 并且需要关联 C表 但是只有 B表中的一个字段才可以关联 C表 这是laraval 中提供...
2022-04-24 14:41:21
469
1
原创 golang goroutine协程 和 channel管道
文章目录前言进程和线程基本介绍程序,进程和线程的关系图并发和并行Go协程和Go主线程goroutine 快速入门案例一MPG模式基本介绍设置Golang 运行的CPUchannel(管道) 快速入门案例一解决方法全局变量加锁同步channel基本介绍前言进程和线程基本介绍进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位线程是进程的一个执行实例,是程序执行的最小单位,它是比进程更小的能独立运行的基本单位一个进程可以创建和销毁多个线程,同一个进程中的多个线程可以并发执行一
2022-04-14 17:31:27
565
原创 golang 单元测试
文章目录普通测试方法golang中的testing 单元测试方式步骤一步骤二多个可执行文件时 如何执行指定文件测试单个方法单元测试总结序列化 和 反序列化测试测试一个函数 或 一个模块是否正确普通测试方法package mainimport( "fmt")//计算1-10的和func addUpper(n int) int { var num = 0 for i := 1; i <= n - 1; i++ { num += i } return num}//单元
2022-04-11 15:57:30
2261
原创 golang json 序列化 和 反序列化
文章目录结构体 map slice 数据序列化结构体 序列化map 序列化slice 序列化结构体 map slice 数据反序列化结构体 反序列化map 反序列化切片slice 反序列化结构体 map slice 数据序列化公用代码package mainimport( "fmt" "encoding/json")//转换序列号func testResult(data interface{}){ //返回 []byte 所以打印时需要string 转换 result , er
2022-04-09 10:43:22
933
原创 Go 语言俩种执行文件方式 和 获取命令行参数
文章目录语言俩种执行文件方式方式一方式二获取命令行参数方式一方式二语言俩种执行文件方式方式一package mainimport "fmt"func main() { // \n :换行 // \t :三个空格 // \\ :\ // \" :" // \r :回车 ("雪山风忽悠\r你好") 结果 ("你好风忽悠") 会替换前面对应的字数 fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京") fmt.Pr
2022-03-31 11:27:20
996
原创 flutter 本地和远程 图片组件
远程图片方式一:class HomeContent extends StatelessWidget { @override Widget build(BuildContext context) { // TODO: implement build return Center( child: Container( width: 90, height: 90, decoration: BoxDecora
2022-03-29 14:55:53
2427
原创 win10 安装flutter
步骤1安装java 安装路径:Java Downloads | Oracle选择对应的下载系统下载好后一路next在 C:\Program Files\Java\jdk1.8.0_321 有一下文件 在进行设置环境变量系统环境变量里 创建一个 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_321path系统环境变量里追加%JAVA_HOME%\bin %JAVA_HOME%\jre\bin...
2022-03-24 16:08:20
4003
原创 golang 文件操作
1.文件基础操作package mainimport( "fmt" "os")func main(){ //打开文件 file , err := os.Open("d:/test.txt") if err != nil { fmt.Println("file错误信息:",err) } else { //输入内容 返回的是一个指针 fmt.Printf("file = %v",&file) //结果:file = 0xc000006028 } //关
2022-03-22 16:18:33
2033
1
原创 golang 类型断言
案例:package mainimport( "fmt")//声明接口type Usb interface{ //声明需要实现的方法 //方法名(参数列表)返回值列表 start() stop()}//方法实现start 和 stop 方法type Phone struct{}func (phone Phone) start(){ fmt.Println("手机连接开始。。。")}func (phone Phone) stop(){ fmt
2022-03-17 15:34:19
858
原创 golang 接口(interface)
接口基础操作package mainimport( "fmt")//声明接口type Usb interface{ //声明需要实现的方法 //方法名(参数列表)返回值列表 start() stop()}//接口执行工作type Working struct{}func (Working Working) GetWorking(usb Usb){ usb.start() usb.stop()}//方法实现start 和 stop 方法ty
2022-03-11 16:06:42
252
原创 golang 工厂模式
golang的结构体没有 构造函数,通常可以使用工厂模式来解决这个问题使用场景,当使用结构体时,结构体名称首字母是小写时,外部就无法引用此时就可以用工厂模式来解决案例:在model包里定义一个结构体首字母大写package model//定义一个结构体type Student struct{ Name string Scoute float64}在main包里引用package mainimport( "fmt" "go_code/project01/o.
2022-03-09 11:23:11
1191
原创 golang 面向对象 (继承,封装,多态)结构体
结构体基础操作package mainimport( "fmt")type Cat struct{ Name string `json:"name"`//返回时 Name会变成name Age int}func main(){ //声明方式一 var cat1 Cat cat1.Name ="小白" cat1.Age = 21 fmt.Println(cat1) //声明方式二 p1 := Cat{"tom",1} fmt.Pr
2022-03-07 15:57:02
649
原创 MySQL CASE WHEN 的用法
CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END类似于 php中的swicthswicth (判断体){case 1:break;case 2:break;default:}
2022-03-02 09:50:04
308
原创 golang map基础操作
map 基本语法package mainimport( "fmt")func main(){ //var map(变量名) make[keytype]valuetype //声明方式一 var map1 map[string]string //声明后需要添加空间否则不可以打印 map1 = make(map[string]string,10) //参数1 map类型 参数2 空间大小可以忽略 map1["n1"] = "刘一" map1["n2"] = "陈二" fmt.P.
2022-03-01 17:24:54
1462
原创 golang 二维数组
package mainimport( "fmt")func main(){ /* 0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0 */ var arr [4][6]int arr[1][2] = 1 arr[2][1] = 2 arr[2][3] = 3 for i := 0; i < 4; i++{ for j := 0; j < 6; j++{ fmt.Print(ar.
2022-02-26 17:13:29
2808
原创 golang 冒泡排序和查找
内部排序和外部排序1.内部排序(数据量较少使用)指将需要处理的所有数据都加载到内部存储中进行排序。包括(交换式排序法,选择式排序法和插入式排序法)2.外部排序法(数据量较大使用)数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,包括(合并排序法和直接合并排序法)交换式排序1.冒泡排序法(Bubble sort)2.快速排序法(Quick sort)冒泡排序package mainimport( "fmt")func sort(arr []in
2022-02-26 16:01:32
3212
原创 golang 切片基础操作
1.切片跟数组操作的一些方式比较类似,最基本的区分就是 数组是定长 而 切片可以不定长2.切片也是引用类型切片使用的三种方式方式一:package mainimport( "fmt")func main(){ intArr := [...]int{11,22,33,44,55} /* slice:切片名称 intArr[1:3] :表示 slice 引用到intArr这个数组 引用数组 1:起始下标 3:截止下标(但不包括3) */ slice.
2022-02-23 16:40:48
1362
原创 golang 数组基础操作
四种初始化数组的方式package mainimport( "fmt")func main(){ //声明数组 // var arr [5]float64 等同于下面 arr := [5]float64{} for i := 0; i < len(arr); i++{ fmt.Printf("请输入第%v个成绩:",i+1) fmt.Scanln(&arr[i]) } fmt.Println("arr=",arr) //四种初始
2022-02-22 17:55:59
1152
原创 golang 随机数
package mainimport ( "fmt" "math/rand" "time")func main() { /* rand.Seed: 还函数是用来创建随机数的种子,如果不执行该步骤创建的随机数是一样的,因为默认Go会使用一个固定常量值来作为随机种子。 time.Now().UnixNano(): 当前操作系统时间的毫秒值 */ rand.Seed(ti.
2022-02-22 14:36:29
601
原创 golang 错误处理机制
package mainimport( "fmt" "time")func test(){ //使用defer + recover 来捕获 和 处理异常 //捕获到异常后,代码不会停止 会 继续往下执行 defer func(){ err := recover() // recover()内置函数,可以捕获到异常 if err != nil{ //说明捕获到错误 fmt.Println("err = ",err) //这里就可以将错误信息发生给管理员。。。 fm.
2022-02-22 10:23:04
425
原创 golang 常用函数
1.字符串函数package mainimport( "fmt" "strings" "strconv")func main(){ //string 常用函数 //len 字符串长度 一个中文等于3个字节 所以是9 str1 := len("string北") fmt.Println("str1 = ",str1) //结果9 //如果不用[]rune转换的话,那么输出的就会是字节 str2 := "string北京" str22 := []rune(str2).
2022-02-19 17:25:37
713
原创 golang defer 延时机制
package mainimport( "fmt")/* 1.当执行到defer时,暂时不执行,会将defer后面的语句压入到独立的栈(defer栈) 2.当函数执行完毕后(如:return),在从defer栈,按照《先入后出》的方式出栈,执行 3.在defer将语句放入到栈时,也会将相关的值拷贝同时入栈,当值入栈后 下面的代码对当前的变量 进行了变得 而栈里面的不会变得还是初始值*/func test(n1 , n2 int) int { defer fmt.Println(".
2022-02-19 11:10:44
92
原创 golang 闭包
闭包就是一个函数 和 与其相关的引用环境组合的一个整体(实体)package mainimport( "fmt")//闭包/* 1.闭包内的值 每次调用不会初始化,而是会累计叠加 2. var n int = 10 return func (x int) int { n = n + x return n } 这块是闭包的整体 */func addUpper() func (int) int { var n int = 10 var str string
2022-02-19 10:14:21
272
原创 golang 匿名函数
匿名函数就是没有名字的函数使用方法一:在定义匿名函数时直接调用,这种方式匿名函数只能调用一次package mainimport( "fmt")func main(){ res1 := func (n1 , n2 int) int { return n1 + n2 }(10,20)//(10,20)调用并且传递参数 fmt.Println("res1 = ",res1)}使用方法二:将匿名函数赋值给一个变量(函数变量),在通过该变量来调用匿名函数pack
2022-02-17 17:18:00
521
原创 golang init函数
每个源文件都可以包含一个init函数,该函数会在main函数执行前,被go运行框架调用也就是说init会在main函数前被调用通常可以在init函数中完成初始化工作如果一个文件同时包含全局变量定义 init函数和main函数,则执行的流程是 全局变量定义-----》init函数------》main函数package mainimport( "fmt" "go_code/project01/func/utils")//全局变量var age...
2022-02-17 17:04:20
236
原创 golang 方法以形参的方法传递
package mainimport( "fmt")//定义数据类型 简易版type myfuncType func (int,int) int/* 等同func myadd(myFunc func (int,int) int,num1,num2 int ) int { return myFunc(num1,num2)}*/func myadd(myFunc myfuncType,num1,num2 int ) int { return myFunc(num1,num2)}.
2022-02-17 16:37:49
278
原创 golang 猴子吃桃子问题
有一堆桃子,猴子第一天吃了其中一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后在多吃一个。当到第十天时,想再吃时(还没吃), 发现只有一个桃子了问题:最初共有多少个桃子package mainimport( "fmt")/* 分析思路: 1)第10天只有一个桃子 2)第9天有几个桃子 = (第10天桃子数量 + 1) * 2 3)规律:第n天的桃子数据 peach(n) = (peack(n + 1) + 1) * 2*/func peach(n int) in
2022-02-17 12:02:30
240
原创 golang 递归调用
方式1:func test(n1 int){ if(n1 > 2){ n1-- test(n1) } fmt.Println("n1 = ",n1)}func main(){ test(5)}结果: n1 = 2 n1 = 2 n1 = 3 n1 = 4运行原理:方式2://递归 方式2func test2(n1 int){ if(n1 > 2){ n1-- test2(n1) } else { fm
2022-02-16 15:30:19
232
原创 goalng 包的基础
包的原理包的本质实际上就是创建不同的文件夹,来存放程序文件!结构 (每个文件下面都有对应的包名.go)包的基本理念说明:go的每一个文件都是属于一个包的,也就是说go是以包的形式来管理文件和项目目录结构的包的三大作用1:区分相同名字的函数,变量等标识符2:当程序文件很多时,可以很好的管理项目3:空置函数,变量等访问范围,即作用域包的相关说明打包基本语法注释:函数首字母大写外部才可以调用 如别的语言得public 小写只能内部调用引入
2022-02-15 16:34:21
329
原创 golang 创建函数基础语法
为什么使用函数1:减少代码冗余2:提高代码维护程度基本语法func 函数名 (形参列表) (返回值列表) { 执行语句。。。。 return 返回值列表}package mainimport( "fmt")func cal(n1 float64,n2 float64,label byte) float64 { var res float64 switch label { case '+': res = n...
2022-02-12 17:24:13
407
原创 goalng 某人有100000元 每经过一次路口,需要交费,规则如下1.当现金>50000时,每次交%5 当现金<=50000时,2.每次交1000
var money float64 = 100000 var sum int for { if money < 1000{ break } if money > 50000 { money -= money * 0.05 }else{ money -= 1000 } sum++ } fmt.Printf("该人可以经过%d次路口,还剩%v元",sum,money)某人可以经过62次路口,还剩767.4979115529859元...
2022-02-10 14:24:40
2261
2
原创 thinkphp框架 在php文件内引入public下的文件
APP_PATH."/../public/static/admin/img/logo1.png"
2022-02-09 16:43:16
993
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人