首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Go中将int转换为rune

在Go中将int转换为rune
EN

Stack Overflow用户
提问于 2013-04-13 09:42:21
回答 2查看 16.8K关注 0票数 9

假设我有一个int64变量(或其他整数大小)表示一个有效的unicode代码点,并且我想在Go中将其转换为一个符文,我该怎么办?

在C中,我会使用类似如下的类型转换:

代码语言:javascript
复制
c = (char) i;  // 7 bit ascii only

但在Go中,类型断言将不起作用:

代码语言:javascript
复制
c, err = rune.( i)

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-13 09:44:07

你只想要rune(i)。强制转换是通过type(x)完成的。

类型断言是不同的东西。当您需要从不太具体的类型(如interface{})转到更具体的类型时,可以使用类型断言。此外,在编译时检查强制转换,其中类型断言在运行时发生。

下面是使用类型断言的方法:

代码语言:javascript
复制
var (
    x interface{}
    y int
    z string
)
x = 3

// x is now essentially boxed. Its type is interface{}, but it contains an int.
// This is somewhat analogous to the Object type in other languages
// (though not exactly).

y = x.(int)    // succeeds
z = x.(string) // compiles, but fails at runtime 
票数 19
EN

Stack Overflow用户

发布于 2013-04-13 12:08:29

在Go中,你想做一个转换。

Conversions

转换是T(x)形式的表达式,其中T是类型,x是可以转换为T类型的表达式。

转换=类型"(“表达式")”。

在以下任何一种情况下,非常量值x都可以转换为T类型:

  • x可赋值给具有相同基础types.
  • x's类型的types.
  • x's类型和具有相同基础types.
  • x‘s类型的T,而T是未命名的指针类型,并且它们的指针基类型具有相同的基础types.
  • x’s类型,并且types.
  • xT都是整型或浮点类型,并且T都是复杂T是整型或哈希类型[]byteD33
  • x是字符串,[]rune.

是[]byte或T,/code>和T是字符串

您希望将int、int32或int64类型的x转换为rune类型的T,这是int32类型的别名。x的类型和T都是整数类型。

因此,允许使用T(x),并将其编写为rune(x),例如c = rune(i)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15983279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档