后端开发-Golang
文章平均质量分 91
小麦加油呀
资深程序员,科技爱者。
展开
-
Go中的面向对象(多态) 我算是彻底玩明白了
大家伙,我是Mandy。上一篇,我们分享了,文章中对面向对象的三大特性中的继承、封装,做了一个理论和实践的总结,这一篇继续分享关于另外一个特性,那就是多态。原创 2023-07-20 11:01:50 · 144 阅读 · 0 评论 -
Go中的面向对象 我算是彻底玩明白了
面向对象(Object-Oriented)是一种计算机编程的方法和思想,它将程序中的数据(对象)和操作(方法)组织成一个个相互关联和交互的对象。对象是现实世界中的事物或概念在计算机程序中的抽象表示。面向对象编程的核心思想是将问题分解为一组相互作用的对象,每个对象都具有自己的状态(属性或数据)和行为(方法或操作),并通过对象之间的消息传递来进行协作和交互。总结一句,面向对象就是将一些具有相同特性的事物,通过类的形式进行统一封装。封装的类中的属性和方法,就是事物间具有相同的特征和行为。原创 2023-07-20 11:00:35 · 62 阅读 · 0 评论 -
基于 JIT 技术的开源全场景高性能 JSON 库
大家好,我是Mandy,,今天给大家分享一个字节跳动自研开源的JSON数据解析包。一个速度奇快的 JSON 序列化/反序列化库,由 JIT (即时编译)和 SIMD (单指令流多数据流)加速。,基于即时编译(Just-In-Time Compilation)与向量化编程(Single Instruction Multiple Data)技术,大幅提升了 Go 程序的 JSON 编解码性能。同时结合 lazy-load 设计思想,它也为不同业务场景打造了一套全面高效的 API。原创 2023-07-13 10:26:23 · 318 阅读 · 0 评论 -
关于Go切片底层原理,看这篇文章就够了
根据上面的几个小问题进行演示,我们在日常开发中,使用切片重点可以关注在动态扩容和引用传值上面,这也是经常出现问题的点。下面细分几点进行归纳:1、由于切片是引用类型,因此容易出现多个变量引用同一个底层数组,导致内存泄露和意外修改数据的情况。2、当切片长度超过底层数组容量时,可以导致切片重新分配内存,这可能会带来性能问题。3、在使用切片时没有正确计算长度和容量,也可能导致意料之外的结果。4、切片常常被用作函数参数,由于其引用类型的特性,可能会导致函数内对切片数据的修改影响到外部变量。原创 2023-06-28 00:41:42 · 150 阅读 · 0 评论 -
轻松理解Go中的内存逃逸问题
上一篇,我们学习了Go种的字符串为什么不能为修改,今天就来学习Go中的内存逃逸问题。下面通过举例,来进一步论证逃逸分析的原则,加深一下理解我们可以使用这个命令,来查看逃逸分析的结果。原因分析:,这个函数的入参是,编译阶段无法确定其具体的参数类型,所以内存分配到堆上原因分析:变量num在函数外部存在引用,函数退出时栈中的内存(栈帧)已经释放,但引用已经被返回,如果通过引用地址取值,在栈中是取不到值的,所以Go为了避免这个情况,会将内存分配到堆上。原因分析:切片容量过大时,会产生逃逸,内存分配到堆上;容量原创 2023-06-27 02:35:13 · 156 阅读 · 0 评论 -
初学者学习微服务 需要了解哪些知识?该如何入门微服务?有哪些优质的教程可以学习?
前面一章节,我们学习了常用的网络通信协议,以及各自的优缺点,并做了一个较为全面的总结。这一章节,我们就来对微服务入门基础做一个准备,学习微服务,我们应该从哪些方面去学习。原创 2023-04-27 23:10:24 · 603 阅读 · 0 评论 -
终于有人把tcp、http、rpc和grpc总结完整了
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。TCP协议具有以下特点:面向连接:TCP协议在数据传输之前需要建立连接,数据传输完成后需要释放连接,保证了数据传输的可靠性和完整性。可靠性高:TCP协议采用确认机制、序列号和校验和等技术,可以保证数据传输的可靠性和完整性。拥塞控制:TCP协议采用拥塞控制算法,可以避免网络拥塞和丢包等问题,保证了数据传输的稳定性和公平性。全双工通信:TCP协议支持全双工通信,即客户端和服务器端都可以同时发送和接收数据,实现了双向通信。原创 2023-04-27 01:07:00 · 1496 阅读 · 0 评论 -
面试Go 被defer的几个盲区坑了
对于defer的使用,是非常简单的。这里需要注意几点。1、defer是在函数返回之前执行,defer的执行顺序是优先于return。return的执行是一个两步操作,先对return返回的值进行赋值,然后执行defer语句,最后将结果进行返回给函数的调用者。2、即使函数内发生了panic异常,panic之前定义的defer仍然会被执行。3、defer中存在子函数,子函数会按照defer的定于顺序执行。原创 2023-03-03 15:35:34 · 158 阅读 · 0 评论 -
2023年了 对Go做一个全网最全的总结
为什么说Go字符串不能修改Golang中的代码分层设计实践与总结适用于快速开发应用的Golang二次框架MySQL一个200G的大表 该如何优化SQL查询操作MySQL一个200G的大表 该如何优化SQL查询操作分布式日志存储架构设计方案分布式日志存储架构代码实践聊聊Redis热点key缓存问题如何解决如何在Go中操作Redis服务Golang中slice和map并发写入问题解决Redis Stream实现消息队列中间件完全弄懂Redis各种业务场景下的使用。原创 2023-01-02 22:09:39 · 446 阅读 · 0 评论 -
Go最全学习资料汇总
前面几篇文章,给大家总结了一些关于Golang中不错的开源框架、开源库等相关的内容。今天接着给分享一些不错的学习资源内容。同时也会分享一些优质的教学视频、高质量的电子书籍。想获取该文档、视频,可以通过下面的文章链接,进入公众号菜单,联系号主。原创 2022-12-14 22:09:56 · 260 阅读 · 0 评论 -
你应该知道的17个Golang包
随着时间的推移,语言爱好者已经构建和共享了许多 Go 框架和库。这些包执行不同的功能,从开发微服务到制作 discord 机器人,一直到构建 Web 应用程序!在本文中,我将尝试让您熟悉一些有用的方法,这些方法是我在尝试使用这种有趣的新编程语言学习和构建应用程序时发现的。在此篇文章之前,我个人也写了一些关于Go不错的开源工具总结,这里一一罗列一下:对于通常用于构建后端 API 和微服务的编程语言来说,这是一个相对较新的领域,因此有点新鲜感迫在眉睫。配置文件通常以各种格式编写,例如 JSON 和 YAML。G翻译 2022-12-05 23:15:33 · 129 阅读 · 0 评论 -
为什么说Go的字符串类型不能修改
都在说Go中的字符串不能进行,为什么我们开发中又能修改。本文将带你从字符串类型底层原理进行分析,为什么不能修改,我们日常修改的方式又是怎么回事。原创 2022-10-28 00:14:26 · 582 阅读 · 0 评论 -
如何快速学习Go的struct数据类型
数组是属于同一类型的元素的集合。例如,整数 5、8、9、79、76 的集合形成一个数组。Go 中不允许混合不同类型的值,例如,同时包含字符串和整数的数组。原创 2022-10-11 00:18:46 · 187 阅读 · 0 评论 -
如何快速学习Go的struct数据类型
结构是表示字段集合的用户定义类型。它可以用于将数据分组为单个单元而不是将每个数据作为单独的值的地方。例如,员工有firstName、lastName和age。将这三个属性分组到一个名为Employee。上面的代码段声明了一个结构类型Employee,其中包含字段firstName、lastName和age。上面的Employee结构称为命名结构,因为它创建了一个名为Employme的新数据类型,可以使用该数据类型创建Employ结构。原创 2022-10-10 01:45:16 · 133 阅读 · 0 评论 -
Golang依赖包的各项指标分析总结 原创
Open Source是由 Google 开发和托管的实验性服务,旨在帮助开发人员更好地了解开源软件包的结构、安全性和构造。该服务检查每个包,构造其依赖项及其属性的完整、详细的图形,并将结果提供给可以从中受益的任何人。依赖关系图使用版本控制和许可信息、已知漏洞以及代码健康和安全的其他重要信号进行修饰。数据不仅为项目自己的代码提供,还为项目所有依赖项的完全构造图中的所有包提供,甚至包括每个依赖项的各个版本。翻译 2022-09-30 01:26:16 · 208 阅读 · 0 评论 -
Golang实现多存储驱动设计SDK
本文已收录。涵盖PHP、JavaScript、Linux、Golang、MySQL、Redis和开源工具等等相关内容。原创 2022-09-06 23:49:55 · 834 阅读 · 0 评论 -
Go中的错误和异常处理最佳实践
Go中的错误和异常处理最佳实践。带你认识Golang中的错误机制和异常机制,底层实现原理以及如何解决错误和异常问题。原创 2022-09-05 00:25:06 · 365 阅读 · 0 评论 -
Go初学者 值得深研的7大开源项目
本文已收录。本库涵盖PHP、JavaScript、Linux、Golang、MySQL、Redis和开源工具等等相关内容。原创 2022-08-22 00:35:21 · 2008 阅读 · 0 评论 -
使用Go语言开发的低代码应用引擎
Yao 基于 flow-based 编程思想,采用 Go 语言开发,支持多种方式扩展数据流处理器。这使得 Yao 具有极好的通用性,大部分场景下可以代替编程语言, 在复用性和编码效率上是传统编程语言的 10 倍;应用性能和资源占比上优于 PHP, JAVA 等语言。Yao 内置了一套数据管理系统,通过编写 JSON 描述界面布局,即可实现 90% 常见界面交互功能,特别适合快速制作各类管理后台、CRM、ERP 等企业内部系统。对于特殊交互功能亦可通过编写扩展组件或 HTML 页面的方式实现。...原创 2022-08-09 00:20:51 · 1821 阅读 · 0 评论 -
Go开发微信小程序第三方SDK
!文章整理在,主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源等相关理论知识、面试题和实战内容。本文转自如若涉及侵权,请联系平台进行删除。。。。最近准备用Go语言开发微信小程序,发现会调用很多微信小程序的服务端接口,并且还需要自己封装。于是想着去GitHub上看看,是否有第三方现成的SDK直接拿来使用,结果发现两个非常不错的第三方库,这里分享给大家。......原创 2022-08-08 00:52:32 · 1836 阅读 · 0 评论