Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么符文符号在golang是一个别名为int32而不是uint32?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Go中的类型符号是 @L_489_0@作为“int32的别名,并且在所有方面相当于int32,它被按照惯例用于区分字符值和整数值.

如果使用这种类型来表示字符值,为什么Go语言的作者不使用uint32而不是int32?当他们是否定的时候,他们如何期待在程序中处理符文值?其他类似的字节是uint(而不是int)的别名,这是合理的.

Golang,Go : what is rune by the way?”提到:

但是关于溢出或负值问题,请注意,执行某些unicode函数(如unicode.IsGraphic)包括

码:

const Maxlatin1 = '\u00FF' // maximum LaTin-1 value.

// IsGraphic reports whether the rune is defined as a Graphic by Unicode.
// Such characters include letters,marks,numbers,punctuation,symbols,and
// spaces,from categories L,M,N,P,S,Zs.
func IsGraphic(r runE) bool {
    // We convert to uint32 to avoid the extra test for negative,// and in the index we convert to uint8 to avoid the range check.
    if uint32(r) <= Maxlatin1 {
        return properties[uint8(r)]&pg != 0
    }
    return In(r,GraphicRanges...)
}

这可能是因为符文应该是constant(如“Go rune type explanation”所述),其中符文可以在一个int32或uint32甚至是float32或…中:它的常数值授权它存储在任何numeric types中) .

大佬总结

以上是大佬教程为你收集整理的为什么符文符号在golang是一个别名为int32而不是uint32?全部内容,希望文章能够帮你解决为什么符文符号在golang是一个别名为int32而不是uint32?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。