1. 首页 > 手游资讯

Golang golang是前端还是后端

作者:admin 更新时间:2024-10-26
摘要:泛型在Golang1.18中,引入了对使用参数化类型的泛型的新支持。支持泛型一直是Golang社区最迫切的功能需求之一。今天,终于梦想成真了。Golang正式进,Golang golang是前端还是后端

 

大家好,感谢邀请,今天来为大家分享一下Golang 1.18正式版发布,正式加入通用语言家族的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

泛型

在Golang 1.18 中,引入了对使用参数化类型的泛型的新支持。支持泛型一直是Golang社区最迫切的功能需求之一。今天,终于梦想成真了。 Golang正式进入通用语言家族。

func Reverse (type Element) (s []Element) {first :=0last :=len(s) - 1forfirst last {s[first], s[last]=s[last], s[first]first++ last- -}}func ReverseAndPrint(s []int) {Reverse(int)(s)fmt.Println(s)}

现在你可以大胆尝试使用这个功能了。还提供了官方文档、示例和视频教程供参考。

模糊测试

Golang 1.18 是第一个将模糊测试完全集成到其标准工具链中的版本。与泛型一样,模糊测试已经在设计中很长时间了,现在终于得到正式支持。

func FuzzReverse(f *testing.F) {测试用例:=[]string {'Hello, world', ' ', '!12345'}for _, tc :=范围测试用例{f.Add(tc)}f.Fuzz (func(t *testing.T, orig string) {rev, err1 :=反向(orig)if err1 !=nil {return}doubleRev, err2 :=反向(rev)if err2 !=nil {return}if orig !=doubleRev {t.Errorf('Before: %q, after: %q', orig, doubleRev)}if utf8.ValidString(orig) !utf8.ValidString(rev) {t.Errorf('反向生成无效的UTF-8 字符串% q', 转)}})}

工作区

Go 模块已被广泛采用,并在开发者中赢得了良好的声誉。但跨多个模块工作是一个问题。为此,Golang 1.18中新引入了workspace模块来解决这个问题,让跨多个模块的开发变得简单。

有关工作区的详细文档,请参阅官方文档。

性能改进

对于Apple M1、ARM64 和PowerPC64 用户来说有个好消息。 Golang 1.18 可以将您的CPU 性能提高20% 以上。自Golang 1.17 的寄存器ABI 调用约定扩展到这些架构以来。

总结

1.18 对于整个Golang 社区来说是一个巨大的里程碑。希望大家尽快更新,进来享受新版本带来的福利。