- 博客(70)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 go语言实现关于最大岛屿的问题
go语言实现最大岛屿面积以及最大岛屿数,目标是找到矩阵中 “岛屿的数量” ,上下左右相连的 1 都被认为是连续岛屿。
2023-01-11 17:52:45 248
原创 go语言实现两数之和
go语言实现两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。时间复杂度为O(n)。
2023-01-11 11:15:05 503
原创 go语言实现36进制数相加
go语言实现36进制数相加,36进制由0-9,a-z,共36个字符表示。要求按照加法规则计算出任意两个36进制正整数的和,如1b + 2x = 48 (解释:47+105=152)要求:不允许使用先将36进制数字整体转为10进制,相加后再转回为36进制的做法
2023-01-03 10:16:11 162
原创 https的相关知识,为什么https更加安全,为什么要对称与非对称加密,非对称加密的算法
https相比于http更加安全,三个优势,什么是对称加密与非对称加密,对称加密的密钥SK如何产生和传输,https问什么有两套非对称加密,https的哈希一共用于两个地方,https的整个流程,https的相关知识,为什么https更加安全,为什么要对称与非对称加密,非对称加密的算法
2023-01-03 08:22:08 1085 1
原创 go语言中的堆和栈
go语言虽然变量申请在堆空间上,但是他有自动回收垃圾的功能,所以这些堆地址空间也无需手动回收,系统会在需要释放的时刻自动进行垃圾回收。堆:一般由程序员手动释放,若程序结束时未释放,将由os自动回收,分配方式类似于链表。(在数据结构中的堆是个树)栈:由编译器自动分配与释放,存储函数的参数或局部变量的值,类似于数据结构中的栈。并不是定义在函数内部的局部变量在访问退出时就被回收。
2023-01-03 08:04:27 864
转载 gin框架的介绍与使用
Gin框架介绍Gin框架安装与使用安装RESTful APIGin渲染HTML渲染自定义模板函数静态文件处理获取当前执行程序的路径JSON渲染XML渲染YMAL渲染protobuf渲染获取参数获取querystring参数获取form参数获取json参数获取path参数参数绑定文件上传单个文件上传多个文件上传重定向HTTP重定向路由重定向Gin路由普通路由路由组Gin中间件定义中间件注册中间中间件注意事项
2022-10-06 14:56:15 401
原创 golang程序中的相对路径与绝对路径问题
golang程序中的相对路径与绝对路径问题“./” 是当前的工程目录,并不是该go文件所对应的目录package filepath。filepath包实现了兼容各操作系统的文件路径的实用操作函数。
2022-08-29 12:46:40 1778
原创 golang的mysql数据库连接
Go MySQL Driver是Go接口的实现。只需要导入驱动程序,然后就可以使用完整的数据库API。最完整的DSNusername:password@protocol(address)/dbname?param=valueq其中密码可以包含任何字符,无需转义。除数据库名称外,所有值都是可选的。因此,最小DSN是:/dbname如果不想预先选择数据库,请留空:dbname这与空 DSN 字符串具有相同的效果db.SetConnMaxLifetime()db.Ping()数据库连接实例:...
2022-08-05 16:32:06 789
原创 临界资源安全问题与sync包下的锁操作
如果多个goroutine在访问同一个数据资源的时候,其中一个线程修改了数据,那么这个数值就被修改了,对于其他的goroutine来讲,这个数值可能是不对的。我们通过并发来实现火车站售票这个程序。一共有100张票,4个售票口同时出售Go语言包中的sync包提供了两种锁类型:sync.Mutex和sync.RWMuWaitGroup同步等待组接下来我们针对模拟4个售票口出售火车票的案例,使用goroutine。4个售票口同时卖票,会发生临界资源数据安全问题。我们使用互斥锁解决一下。(Go语言推崇的是使...
2022-07-25 11:23:18 680
原创 goroutine知识点与runtime包
go语言的并发:go关键字系统自动创建并启动主goroutine,执行对应的main()用于自己创建并启动子goroutine,执行对应的函数go 函数()//go关键创建并启动goroutine,然后执行对应的函数(),该函数执行结束子goroutine也随之结束。子goroutine中执行的函数,往往没有返回值。如果有也会被舍弃。并发的程序的运行结果,每次都不一定相同。不同计算机设备执行,效果也不相同。NumCPU:返回当前系统的CPU核数量GOMAXPROCS:设置最大的可同时使用的CPU...
2022-07-25 10:44:23 372
原创 Go语言的断点续传
Seeker是包装基本Seek方法的接口。通过断点续传可以实现:传的文件比较大,缩短耗时; 在文件传递过程中,如果被迫中断,那么下次再重启时,文件不需要重头开始,支持暂停和恢复。当然这些都是通过Seek()方法如何实现:先说一下思路:想实现断点续传,主要就是记住上一次已经传递了多少数据,那我们可以创建一个临时文件,记录已经传递的数据量,当恢复传递的时候,先从临时文件中读取上次已经传递的数据量,然后通过Seek()方法,设置到该读和该写的位置,再继续传递数据。...
2022-07-20 10:28:19 1003
原创 go语言中的读写操作以及文件的复制
file类是在os包中的,封装了底层的文件描述符和相关信息,同时封装了Read和Write的实现。在io包中主要是操作流的一些方法,今天主要学习一下copy。就是把一个文件复制到另一个目录下。它的原理就是通过程序,从源文件读取文件中的数据,在写出到目标文件里。方法一:io包下的Read()和Write()方法实现方法二:io包下的Copy()方法实现方法三:ioutil包使用ioutil包中的ioutil.WriteFile()和 ioutil.ReadFile(),但由于使用一次性读取文件,再一次性写入.
2022-07-20 10:19:20 1231
原创 Go语言中的File文件操作
file类是在os包中的,封装了底层的文件描述符和相关信息,同时封装了Read和Write的实现。1、FileInfo接口2、打开模式os.MkDirAll(),可以创建多层创建文件,Create采用模式0666(任何人都可读写,不可执行)创建一个名为name的文件,如果文件已存在会截断它os.Create(),创建文件打开文件:让当前的程序,和指定的文件之间建立一个os.Open(filename)5.关闭文件:程序和文件之间的链接断file.Closeos.Remove(),删除文件和空目录...
2022-07-20 10:07:25 1903
原创 go语言错误和异常处理,panic、defer、recover的执行顺序
当外围函数的代码中发生了运行恐慌,只有其中所有的已经defer的函数全部都执行完毕后,该运行恐慌才会真正被扩展至调用处。以下给出异常处理的作用域(场景):空指针引用下标越界除数为0不应该出现的分支,比如default输入不应该引起函数错误说明: Golang错误处理方式一直是很多人诟病的地方,有些人吐槽说一半的代码都是"if err != nil { / 打印 && 错误处理 / }",严重影响正常的处理逻辑。Golang错误和异常是可以互相转换的:...
2022-07-15 11:29:01 2038
原创 go语言中的函数声明使用参数的使用可变参参数传递函数的返回值空白标识符函数的作用域函数的本质defer函数延迟 延迟方法延迟参数堆栈的推迟defer注意点匿名函数回调函数闭包
函数的概念什么是函数 函数的声明函数的使用函数的参数参数的使用可变参参数传递函数的返回值什么是函数的返回值一个函数可以返回多个值 空白标识符函数的作用域局部变量全局变量函数的本质defer函数延迟是什么?延迟函数延迟方法延迟参数 堆栈的推迟defer注意点匿名函回调函数闭包...
2022-07-13 10:18:18 341
原创 go语言中strings包下的关于字符串的函数
go语言中strings包下的关于字符串的函数、判断字符串中是否包含指定的内容-->bool、判断是否包含chars中任意的一个字符即可统计substr在s中出现的次数以xxx前缀开头,以xxx后缀结尾//查找substr在s中的位置,如果不存在就返回-1查找chars中任意的一个字符,出现在s中的位置查找substr在s中字符串的拼接切割重复,自己拼接自己count次替换截取子串...
2022-07-13 08:51:04 471
原创 Go语言实现从2-100的素数
素数就是质数,只能被1和本身整除方法就是利用两个for循环,首先让 i 从2开始到100结束,标志flag为true,接下来嵌套y的for循环,让y从2开始,条件是y要小于根号下i,如果i取余y等于0,那就证明y能被i整除,那么此时就让flag=false即不是素数。...
2022-07-11 17:47:11 678
原创 Go语言中的fallthrough使用
在switch ... case ... 使用过程中,Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch,但是可以使用fallthrough强制执行后面的case代码break:可以使用在switch中,也可以使用在for循环中 强制结束case语句,从而结束switch分支 fallthrough:用于穿透switch 当switch中某个case匹配成功之后,就执行该case语句...
2022-07-11 15:24:39 1329
原创 GO、Java编程语言实现水仙花数
利用 math.Pow(x,y)方法。最简单的实现代码就是用GOJava语言实现水仙花数三个for循环进行实现水仙花数水仙花数:每个位上的数字的立方和,刚好等于该数字本身。那么就叫做水仙花数。且水仙花数一共有4个(153,370,371,407),并且是在【100,999】的三位数。...
2022-07-11 15:00:38 517
原创 Go语言中的伪随机数和真随机数
go语言时间戳Go语言中的伪随机数和真随机数go中生成随机数的有两个包,分别是“math/rand”(伪随机数生成器)和“crypto/rand”(用于加解密的跟安全的随机数生成器)初始化随机种子函数由此可见如果不调用seed,seed就会一直是1。这就是为什么是伪随机数。Unix将t表示为Unix时间,使用rand.NewSource()rand.Seed(time.Now().Unix())作rand.Seed(time.Now().UnixNano())...
2022-07-10 15:28:32 1308
原创 GO语言中的输入和输出fmt包和bufio包
os.Stdin指向标准输入文件/dev/stdin,即os.Stdin是标准输入文件/dev/stdin的指针。os.Stdin是os包File结构体的指针类型。fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb('verb')源自C语言但更简单。bufio包读取Package bufio - The Go Programming Languagebufio包中都是IO操作的方法:...
2022-07-10 09:35:41 475
原创 位运算符按位&按位|异或^位清空:&^ 位移运算符
位运算符是什么意思:将数值,转为二进制后,按位操作各个符号意思:按位&:对应位的值如果都为1才为1,有一个为0就为0按位|:对应位的值如果都是0才为0,有一个为1就为1异或^: 二元:a^b 对应位的值不同为1,相同为0 一元:^a 按位取反: 1--->0 0--->1位清空:&^对于 a &^ b 对于b上的每个数值 如果为0,则取a对应位上的数值 ...
2022-07-10 08:38:44 497
原创 编程时格式化打印占位符%v%s%t%T%d的含义
格式化打印占位符: %v,原样输出 %T,打印类型 %t,bool类型 %s,字符串 %f,浮点 %d,10进制的整数 %b,2进制的整数 %o,8进制 %x,%X,16进制 %x:0-9,a-f %X:0-9,A-F %c,打印字符 %p,打印地址 。。。...
2022-07-09 20:16:22 6472
原创 Go的执行原理
Go的执行原理,Go的源码文件分为命令源码文件库源码文件测试源码文件命令源码文件应该是被单独放在一个代码包中,是可以单独运行的。可以使用go run命令直接运行,也可以通过go build或go install命令得到相应的可执行文件。但是多个命令源码文件虽然可以分开单独go run运行起来,但是无法通过go build和go install。所以命令源码文件是可以在机器的任何目录下运行的。_test.go为后缀的代码文件,并且必须包含Test或者Benchmark名称前缀...
2022-07-09 15:03:02 414
原创 golang学习中那些太遗憾没早点知道的使用VsCode的快捷方法
golang学习中那些太遗憾没早点知道的使用VsCode的快捷方法快速建文件并用vscode打开,加快敲代码速度的小技巧
2022-06-10 17:16:29 443 3
原创 编程时遇到的相对文件路径的引用和几种前端框架的在线引用
/ 代表根目录,慎用../ 代表上一级目录../../ 代表上两级目录/.. 代表下级目录/../.. 代表下两级目录编程时遇到的相对文件路径的引用和几种前端框架的在线引用
2022-05-26 09:55:31 140
JDBC做一个简易的购物车,熟练掌握Dao封装与jq点击事件与servlet相关联。 想要相应的数据库代码可我。
2022-03-26
使用cookie实现用户名密码回填功能
2022-03-26
JavaWeb连接数据库(Dao模式),实现添加book并按日期范围查找相应book信息
2022-03-26
词云分析时,出现的错误
2023-05-09
刚刚接触go下载搭建vscode都不成功,谁知道这个到底是什么原因
2022-04-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人