Go(又称 Golang )是Google开发的一种动态强类型、编译型、并发型,并具备垃圾回收性能的编程语言。

常识进阶

《Go 1.18 泛型全面解说:一篇讲清泛型的全副》

2022年3月15日,争议十分大但同时也备受期待的泛型终于随同着Go1.18公布了。
可是因为Go对泛型的反对时间跨度太大,有十分多的以“泛型”为关键字的文章都是在介绍Go1.18之前的旧泛型提案或者设计,而很多设计最终在Go1.18中被废除或产生了更改。并且很多介绍Go1.18泛型的文章(包含官网的)都过于简略,并没对Go的泛型做残缺的介绍,也没让大家意识到这次Go引入泛型给语言减少了多少复杂度(当然也可能单纯是我没搜到更好的文章)
出于这些起因,我决定参考 The Go Programming Language Specification ,写一篇比拟残缺零碎介绍Go1.18 泛型的文章,这可能是目前介绍Go泛型比拟全面的文章之一了。
本文力求能让未接触过泛型编程的人也能较好了解Go的泛型,所以行文可能略显啰嗦,置信看完这篇文章你能取得对Go泛型十分全面的理解。

《集体教训分享如何浏览Go语言源码》

Go源码包含哪些、查看规范库源代码、查看Go语言底层实现

《Go 读者发问:Go 函数返回值命名有存在的意义吗?》

实际上带命名的返回参数,比拟带有 Go 的格调,就是显式命名了返回。
但也会带来可能存在的函数内返回的省略,以至于很多人新入门的敌人看不懂。又或是像是文章内所介绍的,带命名的返回参数写着写着变成递归函数,一手抖也是会呈现的。

《Go 设计哲学:少即是多,哪里来的?》

之前在 Go 社区分享常识和教训时,常常会听见诸如:less is more、少即是多,大道至简、小道不停地至简等黑话。
甚至探讨 Go issues 和提案时,都会有人用 “less is more” 来反驳或做为论点撑持,十分有意思。大家都会很好奇,出处是哪里,是什么意思?

《为什么 Go 用起来会好受?这 6 个细节你晓得吗?》

在做新的利用选型时,咱们会进行利用编程语言的抉择,这时会纠结 Java、PHP、Go...各种,会思考有没有致命的问题,不能用?
能够明确的是,Go 没有十分致命的问题,否则你我他都不会在这里相遇,也不会大火。
好受的点倒是有不少,明天就和大家一起来看看。

上手实操

《golang 开发框架文档集》

Istio、Go-kit、Go-kratos、Go-micro、Go-zero、Goa、gizmo、Dubbo-go、Jupiter、Tars-go

《Go的高效开发套路》

以后在公司进行Go服务端研发工作时,发现短少Go开发的最佳实际,而导致以下景象:
1.用Go开发时会比拟迷茫,不知如何下手,怎么发展工作比拟高效。
2.反复造轮子比较严重。
3.我的项目的代码品质参差不齐,导致交付的产品质量参差不齐。
4.产品运行黑盒,可观测性差,能跑就行。
5.代码实现考验研发人员程度,但顶尖的毕竟是多数,往往比拟差,而且顶尖也说不准会犯错。
6.一个人负责整个性能开发,一旦人员到职,代码保护就会难上艰巨。
......

《用Go构建你专属的JA3指纹》

本文将简略回顾https的握手流程,并解释什么是JA3指纹以及如何用Go定制专属的JA3指纹,各位读者能够跟着作者的思路逐渐构建本人专属的JA3指纹。

《带你十天轻松搞定 Go 微服务之大结局(分布式事务)》

咱们通过一个系列文章跟大家具体展现一个 go-zero 微服务示例,整个系列分十篇文章,目录构造如下:
1.环境搭建
2.服务拆分
3.用户服务
4.产品服务
5.订单服务
6.领取服务
7.RPC 服务 Auth 验证
8.服务监控
9.链路追踪
10.分布式事务(本文)
冀望通过本系列带你在本机利用 Docker 环境利用 go-zero 疾速开发一个商城零碎,让你疾速上手微服务。

面试真题

《面试官:简略聊聊 Go 逃逸剖析?》

面试官:“写过C/C++的同学都晓得,调用驰名的malloc和new函数能够在堆上调配一块内存,这块内存的应用和销毁的责任都在程序员。一不小心,就会产生内存泄露。那你说下Golang 是怎么解决这个问题的”
胖虎:“Golang 通过逃逸剖析,对内存治理进行的优化和简化,它能够决定一个变量是调配到堆还栈上。”

《面试官:来说一说Go语言的函数调用常规》

本文与大家聊一聊Go语言的函数调用常规,调用常规是调用方和被调用方对于参数和返回值传递的约定,Go语言的调用常规在1.17版本进行了优化,上面就让咱们看一下两个版本的调用常规是什么样的吧~

《Go语言切片面试真题7连问》

1.数组和切片有什么区别?
2.拷贝大切片肯定比拷贝小切片代价大吗?
3.切片的深浅拷贝
4.零切片、空切片、nil切片是什么
5.切片的扩容策略
6.参数传递切片和切片指针有什么区别?
7.range遍历切片有什么要留神的?

热门问答

  • Golang通道不了解之处
  • Golang 参数为接口类型怎么读取属性
  • 这段go代码是什么意思?
  • Golang的map不能批改元素?
  • Golang打印一个构造体后果是一个整型?
  • Golang的interface为什么不能接管int?
  • golang 的第三方包管理机制和 Python 有什么不同?
  • 从 Golang 的 context 中读写数据为什么是并发平安的?

课程举荐

《7 天玩转 GO 语言》 本门课程为图文课程

Go 语言的入门到精通:
指的不应只是把握根底语法,相熟模块源码
更重要的是能够独立开发零碎,并且能够利用go的思维解决工作中的问题

这门课不单是写给0根底人看的入门级教程,更是提供给曾经有编程思维,特地是纯熟其它后端语言的同学的完满通关教程

在这门课程里,你会取得:
1.资深其余编程语言程序员(例如Java、C++、PHP等)转Go 开发的避坑指南;
2.系统化的把握Go 语言编程思路,并能解决理论问题;
3.2个我的项目实战,了解coding 的一些基本思路和 golang 社区的一些玩法。


PS:大家想看哪些方面的技术内容,能够在评论区留言喔 ~
如有问题能够增加小姐姐微信~