<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Boo_T的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_34077993</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_34077993]]></copyright><item><title><![CDATA[四十一、完成内容添加功能（使用go测试方法）]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142360589</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142360589</guid><author>qq_34077993</author><pubDate>Thu, 19 Sep 2024 15:48:52 +0800</pubDate><description><![CDATA[按数据库字段以及字段格式完成model。]]></description><category></category></item><item><title><![CDATA[四十、登陆-sessionid鉴权]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142337180</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142337180</guid><author>qq_34077993</author><pubDate>Wed, 18 Sep 2024 16:37:30 +0800</pubDate><description><![CDATA[【代码】四十、登陆-sessionid鉴权。]]></description><category></category></item><item><title><![CDATA[三十九、登陆-sessionid持久化]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142247961</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142247961</guid><author>qq_34077993</author><pubDate>Sat, 14 Sep 2024 09:34:21 +0800</pubDate><description><![CDATA[【代码】三十九、登陆-sessionid持久化。]]></description><category></category></item><item><title><![CDATA[三十八、Go-redis快速入门]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142215243</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142215243</guid><author>qq_34077993</author><pubDate>Fri, 13 Sep 2024 17:19:22 +0800</pubDate><description><![CDATA[【代码】三十八、Go-redis快速入门。]]></description><category></category></item><item><title><![CDATA[三十七、Gin完成登陆功能]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142143733</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142143733</guid><author>qq_34077993</author><pubDate>Wed, 11 Sep 2024 16:49:36 +0800</pubDate><description><![CDATA[这个方法意思是通过这个userid查询数据。]]></description><category></category></item><item><title><![CDATA[三十六、Gin注册功能-检查账号是否存在]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142097462</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142097462</guid><author>qq_34077993</author><pubDate>Tue, 10 Sep 2024 16:43:01 +0800</pubDate><description><![CDATA[在register.go中进行调用IsExist方法。2、在cms.go中进行初始化数据库连接方法。1、在cms.go中添加数据库连接方法。]]></description><category></category></item><item><title><![CDATA[三十五、Gin注册功能实战]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142093634</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142093634</guid><author>qq_34077993</author><pubDate>Tue, 10 Sep 2024 11:37:12 +0800</pubDate><description><![CDATA[bcrypt.GenerateFromPassword 进行密码加密，完成encryptPassword函数。若多次打印会发现结果是不一样的。]]></description><category></category></item><item><title><![CDATA[三十四、模型绑定与验证]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142061164</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142061164</guid><author>qq_34077993</author><pubDate>Mon, 09 Sep 2024 15:56:36 +0800</pubDate><description><![CDATA[模型绑定意味着将请求数据直接绑定到go的结构体中，然后进行输入或输出的验证。]]></description><category></category></item><item><title><![CDATA[三十三、Gin的中间件]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/142059601</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/142059601</guid><author>qq_34077993</author><pubDate>Mon, 09 Sep 2024 15:33:31 +0800</pubDate><description><![CDATA[在Gin框架中，中间件是用于处理请求和响应的功能模块，可以在处理请求之前或之后处理一些额外的操作。]]></description><category></category></item><item><title><![CDATA[三十二、初识Gin框架]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141856170</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141856170</guid><author>qq_34077993</author><pubDate>Tue, 03 Sep 2024 11:21:51 +0800</pubDate><description><![CDATA[定义常量路径前缀 api，创建函数CmsRouter，使用r.Group函数进行分组，分组可以定义一些方法是测试方法或需要/不需要鉴权的方法，提升代码可读性等好处。在实际开发中不可能将方法实现放在main中，所以在internal包下创建新包api包，并在包下创建routers.go。在services包下创建hello.go，并在其中完成具体业务逻辑。在services包下创建cms.go并在其中完成一些实例返回。在cmd包下搭建main方法，main方法中直接复制。在项目路径下，终端中输入。]]></description><category></category></item><item><title><![CDATA[三十一、gorm快速入门]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141820726</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141820726</guid><author>qq_34077993</author><pubDate>Mon, 02 Sep 2024 15:42:15 +0800</pubDate><description><![CDATA[动态表面的好处可以动态的获取表名进行灵活的查询，比如一些流水表的名字后面会加上日期的这里是改写了TableName方法，使用此方法后就删除.Table("account")调用。必须与account表字段与字段类型保持一致。在终端中输入以下命令。]]></description><category></category></item><item><title><![CDATA[三十、error的处理策略]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141678797</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141678797</guid><author>qq_34077993</author><pubDate>Thu, 29 Aug 2024 16:15:24 +0800</pubDate><description><![CDATA[使用结构体自定义错误包含code与msg，在执行方法中触发条件后进行错误code与msg赋值，在通过类型转换打印出错误和错误codeCode intMsg stringif err!= nil {]]></description><category></category></item><item><title><![CDATA[二十九、channel的select]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141639074</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141639074</guid><author>qq_34077993</author><pubDate>Wed, 28 Aug 2024 14:28:30 +0800</pubDate><description><![CDATA[在使用channel时使用select，当有一个channel有数据可读可写时，会执行对应的case分支这样就可以避免channel死锁以及监听多个chennel。]]></description><category></category></item><item><title><![CDATA[二十八、channel的传递]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141634244</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141634244</guid><author>qq_34077993</author><pubDate>Wed, 28 Aug 2024 10:56:15 +0800</pubDate><description><![CDATA[通过结果我们看到效率明显提高了，一执行就完成了数据的发送，达到了并行的效果，因为当给缓冲的时候数据可以直接写入channel而不用关心数据是否有人在读。简单来说就是有缓冲空间就可以直接写入，没有缓冲空间就必须一写一读的方式执行。在其中增加了close方法，如果不增加则会发生死锁错误，意味着如果不进行关闭，消费者中wg.done就会一直阻塞，又导致wg.wait方法阻塞。注意当符号]]></description><category></category></item><item><title><![CDATA[二十七、有缓冲channel与无缓冲channel]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141633623</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141633623</guid><author>qq_34077993</author><pubDate>Wed, 28 Aug 2024 10:18:45 +0800</pubDate><description><![CDATA[这里无缓冲会报错，死锁，原因这样执行时候并没有给其空间所以一致卡在发送数据。当给予缓冲后此时程序运行没有问题，并且能够正常输出1。在go语言的channel中有两种写法分别是。此时可以正常发送与接收到值。]]></description><category></category></item><item><title><![CDATA[二十六、实战化goroutine]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141602104</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141602104</guid><author>qq_34077993</author><pubDate>Tue, 27 Aug 2024 15:03:26 +0800</pubDate><description><![CDATA[为什么要使用并发，因为并发能大大提高效率，以下案例可以通过执行时间直观的感受到差别例如以下方法。]]></description><category></category></item><item><title><![CDATA[二十五、go语言的通道]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141555258</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141555258</guid><author>qq_34077993</author><pubDate>Tue, 27 Aug 2024 10:40:31 +0800</pubDate><description><![CDATA[go语言中的goroutine可以看成线程，但是又不能看成和其它语言一样的线程，因为在go语言中，goroutine之间的通信和其它语言不一样，例如如果在java中多条线程访问一个内存中数据在访问前需要进行加锁避免其它线程进入进行修改，本质上是通过共享了内存进行通信。而在go中是不一样的，在go中是“不要通过共享内存进行通信，而是通过通信来共享内存”在select中最先收到消息的执行后续代码，当创建两个ping方法时，ping sleep了3秒，ping2 sleep了2秒所以先执行了ping2。]]></description><category></category></item><item><title><![CDATA[二十四、goroutine]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141552958</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141552958</guid><author>qq_34077993</author><pubDate>Mon, 26 Aug 2024 09:45:06 +0800</pubDate><description><![CDATA[因为goroutine直接执行后面的代码后理解返回，没有其他程序阻止的话就执行完毕后结束，所以如果我们想看到timeSleep方法执行结果可以再添加一个sleep方法阻止退出。与java一样，go在幕后使用线程来并发管理，但是不需要直接管理线程，创建一个goroutine只需要占用几kb的内存，另外销毁的效率也非常的高。理解：举个通俗的例子来理解两者之间的区别，在自己家同时制作多个蛋糕叫并发，与朋友家一起制作，制作完成后汇集在一起叫做并行。这里我们就可以看到timeSleep方法的返回结果。]]></description><category></category></item><item><title><![CDATA[二十三、错误处理]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141465093</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141465093</guid><author>qq_34077993</author><pubDate>Fri, 23 Aug 2024 15:11:06 +0800</pubDate><description><![CDATA[错误处理，其实就是居安思危，预想到某块可能会出现问题，进而编辑好代码进行处理。]]></description><category></category></item><item><title><![CDATA[二十二、处理字符串]]></title><link>https://blog.youkuaiyun.com/qq_34077993/article/details/141464595</link><guid>https://blog.youkuaiyun.com/qq_34077993/article/details/141464595</guid><author>qq_34077993</author><pubDate>Fri, 23 Aug 2024 14:16:05 +0800</pubDate><description><![CDATA[在go语言中提供了strings包，提供了一套完备的字符串处理函数。无论是查找单个字母还是查找单词，会打印出出现需要查找次所在的下标。1、将字符串转为大小写。]]></description><category></category></item></channel></rss>