关于segmentfault-技术周刊:SegmentFault-思否技术周刊-你还想学-Go-语言吗

30次阅读

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

本期技术周刊一起理解 Go 语言?,欢送大家浏览 ~

文章举荐

《手写编程语言 - 实现运算符重载》作者:crossoverJie

运算符重载其实并不是一个罕用的性能;因为会扭转运算符的语义,比方明明是加法却在重载函数中写为减法。

这会使得代码浏览起来艰难,但在某些状况下咱们又十分心愿语言自身能反对运算符重载。

比方在 Go 中罕用的一个第三方精度库 decimal.Decimal,进行运算时只能应用 d1.Add(d2) 这样的函数,当运算简单时 …

《Golang 实现多存储驱动设计 SDK》作者:7small7

Gocache 是一个基于 Go 语言编写的多存储驱动的缓存扩大组件。它为您带来了许多缓存数据的性能。

  • 多个缓存驱动存储:反对内存、redis 或您自定义存储驱动。反对如下性能:
  • 链式缓存:应用具备优先级程序的多个缓存(例如,内存而后回退到 redis 共享缓存)。
  • 可加载缓存:容许您调用回调函数将数据放回缓存中。
  • 指标缓存,可让您存储无关缓存应用状况的指标(命中、未命中、设置胜利、设置谬误……)。
  • 主动编组 / 解组缓存值作为构造的编组器。
  • 在存储中定义默认值并在设置数据时笼罩它们。
  • 通过过期工夫和 / 或应用标签缓存生效。
  • 泛型的应用。

《Go clientSet Watch 运行后随机性生效》作者:建军

List 和 Watch 机制是 kubernetes 中重要的机制之一。控制器通过 API Server 的 List API 来获取所有最新版本的 API 对象,通过 Watch API 来监听所有 API 对象的变动。

在程序设计过程中,往往也须要利用 List && Watch 机制,来察看 API 对象的状态,从而调用 EventHandler,做出响应。

基于此背景,Go 语言官网的 clientSet 中提供了相应的 API 接口供开发者应用。然而,笔者在应用 Watch 机制中踩到了不小坑。

《对 Go2 错误处理提案的批评》作者:煎鱼

通过对 Go2 错误处理的设计草案的温习,咱们理解到了 check 和 handle 函数的用法和思路。再针对新的语法,又对可能产生的新问题进行了“批评”。

总的来说,新的语法,在弊病上会减少既有的代码复杂度和可读性,能够引发各种奇怪的嵌套,还会与 if err != nil 产生反复,变成了一种新的解决形式(多了一种)。

是否会还不如 if err != nil 那么的纯正?

《Golang 中变量定义的坑》作者:kumfo

首先,文件构造如下:

.
├── a
│   └── a.go
├── b
│   └── b.go
├── go.mod
└── main.go

《几个晋升 Go 语言开发效率的小技巧》作者:asong

Go 语言容许一个函数把任意数量的值作为参数,Go 语言内置了 … 操作符,在函数的最初一个形参能力应用 … 操作符,应用它必须留神如下事项:

可变长参数必须在函数列表的最初一个;
把可变长参数当切片来解析,可变长参数没有没有值时就是 nil 切片
可变长参数的类型必须雷同

《在 Go 里用 CGO?这 7 个问题你要关注!》作者:煎鱼

Cgo 是一项了不起的技术,它容许 Go 程序与 C 语言库互相操作,这是一个十分有用的性能。

没有它,Go 就不会有明天的位置。cgo 是在 Android 和 iOS 上运行 Go 程序的要害。

我集体认为 cgo 在 Go 我的项目中被适度应用了,当面临在 Go 中从新实现一大段 C 语言代码时,程序员会抉择应用 cgo 来包装库,认为这是个更容易解决的问题。但我认为这是一种谬误的抉择行为。

显然,在某些状况下,cgo 是不可避免的,最显著的是你必须与图形驱动或窗口零碎进行互操作,而后者只能以二进制 blob 的模式提供。在这些场景下,cgo 的应用证实了它的衡量是正当的,比许多人筹备抵赖的要少得多。

以下是一份不残缺的衡量清单,当你把 Go 我的项目建设在 cgo 库上时,你可能没有意识到这些衡量。

问题举荐

Unanswered:

  • go byte 转换为 string 凌乱?
  • Golang 开发 UDP 组播在 windows10 上无奈接管到音讯?
  • 如何在 Goland 中应用 quantlib?
  • 用 go 的指针将 struct 互相转换 byte 乱码,请问这是什么起因,应该如何解决?

Most frequent:

  • 请问 golang 如何导入本人的包?
  • go 语言,一个 redis 存 json 字符串问题?
  • golang 根底,这段程序的后果为啥是奇数?
  • go 语言应用 errorgroup 当子协程产生 panic 怎么告诉主协程?
  • go 语言如何通过 channel 或 context 来实现协程期待?
  • go 中 NewReader 是读取全副数据吗?

# SegmentFault 技术周刊 #

「技术周刊」是社区特地推出的技术内容系列,一周一主题。

每周二更新,欢送「关注」。大家也能够在评论处留言本人感兴趣的主题,举荐主题相干的优良文章。

如有问题能够增加小姐姐微信~

正文完
 0