包math/ints将用于整数上的常见操作:
math/ints
Max(a, b int) int Min(a, b int) int Abs(value int) int Pow(a int, b uint) int
理由:尽管Max、Min和Abs的实现很简单,但它们使用得非常频繁,可能值得被包含在标准库中。上面的列表并不是详尽无遗的,但更像是一个起点。该包还可以包含常量IntMax、IntMin、Int64Max和Int64Min。
IntMax
IntMin
Int64Max
Int64Min
sqyvllje1#
我认为如果要将这个添加到标准库中,最好等待泛型。
之前已经有关于这个问题的提议和讨论:https://groups.google.com/forum/#!topic/golang-nuts/dbyqx_LGUxM,但没有一个被接受。
现有的包是否足够?
qvk1mo1f2#
感谢提供的链接。两者都很有用,尽管讨论似乎很快就转向了泛型。我真的找不到为什么为这些函数单独创建一个包会是一个坏主意的原因。
当然,我自己有一个名为ints的包,所以这并不重要。只是奇怪的是,鉴于它的常见用途,它没有出现在Go标准库中。在学习Go时很奇怪,使用两年后仍然很奇怪。
拥有这些函数可能会减少对泛型缺乏的一些抱怨。
yacmzcpb3#
有一个关于泛型的活动设计草案( https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md )。让我们在接受或拒绝该设计之前暂停这个提案。
vaj7vani4#
这可以取下来。
2w3rbyxf5#
感谢,已移至incoming。
5条答案
按热度按时间sqyvllje1#
我认为如果要将这个添加到标准库中,最好等待泛型。
之前已经有关于这个问题的提议和讨论:https://groups.google.com/forum/#!topic/golang-nuts/dbyqx_LGUxM,但没有一个被接受。
现有的包是否足够?
qvk1mo1f2#
感谢提供的链接。两者都很有用,尽管讨论似乎很快就转向了泛型。我真的找不到为什么为这些函数单独创建一个包会是一个坏主意的原因。
当然,我自己有一个名为ints的包,所以这并不重要。只是奇怪的是,鉴于它的常见用途,它没有出现在Go标准库中。在学习Go时很奇怪,使用两年后仍然很奇怪。
拥有这些函数可能会减少对泛型缺乏的一些抱怨。
yacmzcpb3#
有一个关于泛型的活动设计草案( https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md )。让我们在接受或拒绝该设计之前暂停这个提案。
vaj7vani4#
这可以取下来。
2w3rbyxf5#
感谢,已移至incoming。