登录
首页 >  Golang >  Go问答

Go 中的泛型是什么?

来源:Golang技术栈

时间:2023-04-30 12:47:15 283浏览 收藏

本篇文章向大家介绍《Go 中的泛型是什么?》,主要包括golang,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

最近有很多关于 Go 的批评,因为它不支持泛型。这到底是什么意思呢?您如何向来自动态类型语言(如 Ruby)的人解释这一点,而这不是一个熟悉的概念?

正确答案

在动态类型语言中,您不关心它是什么类型的列表,只关心它是一个列表。但是,在静态类型语言中,您确实关心它是什么类型的列表,因为该类型是“A 的列表”,其中“A”是某种类型。也就是说, alist A是与 不同的类型list B

因此,当您谈到泛型时,A -> B使用 a 调用列表中每个项目的某些类型的函数foreach意味着列表必须是list A. 但是......如果您使用泛型,那么您不必声明是什么A,您可以在以后填写它。因此,你建立了一个给定 alist C和一个 function的合约A -> BA === C以便它编译。这大大减少了样板。

在 Go 中,由于缺乏泛型和声明这种类型协定的能力,你必须编写一个函数来对 int 列表、double 列表、字符串列表等进行操作。你不能只定义以“通用”方式进行的事情。

好了,本文到此结束,带大家了解了《Go 中的泛型是什么?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>