去符文类型说明

nis*_*013 7 go

我在Go中找到符文类型并且有一个简单的问题,但值得探索.

我认为它是int32的别名,目的是区分数字和字符值.

http://golang.org/pkg/builtin/#rune

但我对术语"符文"感到困惑,实际上它代表什么?例如uint == unsigned int

Vol*_*ker 8

但我对术语"符文"感到困惑,实际上它代表什么?例如uint == unsigned int

符文代表信件.("符文"是一组相关字母表中的字母,称为符文字母,在采用拉丁字母之前用于编写各种日耳曼语.[Wikipedia]).

如果变量rune在Go中具有类型,则您知道它旨在保存unicode代码点.(rune比更短更清晰codepoint).但它是技术上的int32,即它在内存中的表示是int32的表示.


zzz*_*zzz 5

在一般意义上,Unicode“符文”只是一个数字,就像 64(0x40) 是数字,它是 ASCII 和 Unicode 中“@”的代码。

  • 64是实数吗?是的当然。您可以将文字 64 分配给浮点变量。
  • 64是整数吗?是的。您可以将文字 64 分配给任何整数变量。
  • 64是有符号数吗?是的。您可以将文字 64 分配给任何无符号变量。
  • 64是无符号数吗?是的。您可以将文字 64 分配给任何有符号变量。

package main

import "fmt"

func main() {
    var f float64
    f = 64
    var b int8
    b = 64
    var u uint16
    u = 64
    var i int
    i = 64
    fmt.Println(f, b, u, i)
Run Code Online (Sandbox Code Playgroud)

}

操场


输出:

64 64 64 64
Run Code Online (Sandbox Code Playgroud)

这试图表明的是 [小] 整数(以及此类文字)基本上是无类型的,即untyped

相关:符文文字