关于golang:SegmentFault-思否技术周刊-Go-语言通关攻略

61次阅读

共计 2426 个字符,预计需要花费 7 分钟才能阅读完成。

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:大家想看哪些方面的技术内容,能够在评论区留言喔 ~
如有问题能够增加小姐姐微信~

正文完
 0