相关疑难解决方法(0)

如何在Go中将int值转换为字符串?

i := 123
s := string(i) 
Run Code Online (Sandbox Code Playgroud)

s是'E',但我想要的是"123"

请告诉我如何获得"123".

在Java中,我可以这样做:

String s = "ab" + "c"  // s is "abc"
Run Code Online (Sandbox Code Playgroud)

我怎么能concat在Go中使用两个字符串?

string int go converters

447
推荐指数
9
解决办法
33万
查看次数

如何将字符串分配给bytes数组

我想将字符串分配给bytes数组:

var arr [20]byte
str := "abc"
for k, v := range []byte(str) {
  arr[k] = byte(v)
}
Run Code Online (Sandbox Code Playgroud)

有另一种方法吗?

go

341
推荐指数
6
解决办法
35万
查看次数

有没有办法将整数转换为bools,反之亦然?

是否存在将bool转换为整数的内置方法,反之亦然?我尝试过普通的转换,但由于它们使用不同的底层类型,转换是不可能的经典方式.我已经倾注了一些规范,但我还没有找到答案.

types go

24
推荐指数
5
解决办法
2万
查看次数

如何在golang中将字符串转换为整数

我想在golang中将字符串转换为整数.但我不知道字符串的格式.例如,"10"- > 10,"65.0"- > 65,"xx"- > 0,"11xx" - > 11,"xx11" - > 0

我做了一些搜索并找到了strconv.ParseInt().但它无法处理"65.0".所以我必须检查字符串的格式.

有没有更好的办法?

casting type-conversion go

9
推荐指数
3
解决办法
2万
查看次数

Go中的惯用语类型转换

我正在玩Go,并想知道在Go中执行惯用类型转换的最佳方法是什么.基本上我的问题之间的自动类型转换中规定uint8,uint64float64.根据我对其他语言的经验,a uint8与a 的乘法uint64将产生一个uint64值,但在go中则不然.

这是我构建的一个示例,我问这是否是编写此代码的惯用方法,或者我是否缺少重要的语言结构.

package main

import ("math";"fmt")

const(Width=64)

func main() {

    var index uint32
    var bits uint8

    index = 100
    bits = 3

    var c uint64
    // This is the line of interest vvvv
    c = uint64(math.Ceil(float64(index * uint32(bits))/float64(Width)))
    fmt.Println("Test: %v\n", c)
}
Run Code Online (Sandbox Code Playgroud)

从我的观点来看,由于所有显式类型转换,上限值的计算似乎不必要复杂.

谢谢!

go

7
推荐指数
1
解决办法
2183
查看次数

如何将 uint8 切片转换为字符串

[]uint8从 转换为的最佳方式是什么string

我正在使用http://github.com/confluenceinc/confluence-kafka-go/kafka

从 kafka 读取事件。但它不返回纯字符串事件。它返回类型为 的事件[]uint8。我怎样才能将此事件从 转换[]uint8string

type-conversion go

6
推荐指数
1
解决办法
9920
查看次数

如何将[] int8转换为字符串

转换[]int8为字符串的最佳方式(最快的性能)是什么?

对于[]byte我们可以做string(byteslice),但[]int8它给出了一个错误:

cannot convert ba (type []int8) to type string
Run Code Online (Sandbox Code Playgroud)

我得到了ba来自SliceScan()的方法*sqlx.Rows产生[]int8的,而不是string

这个解决方案最快吗?

func B2S(bs []int8) string {
    ba := []byte{}
    for _, b := range bs {
        ba = append(ba, byte(b))
    }
    return string(ba)
}
Run Code Online (Sandbox Code Playgroud)

编辑我的坏,它uint8不是int8..所以我可以string(ba)直接做.

string type-conversion go slice

5
推荐指数
1
解决办法
1万
查看次数

golang中的字符串到数字转换

Golang 有strconv库,可以将字符串转换为 int64 和 uint64。

但是,其余的整数数据类型似乎不受支持,因为我找不到 byte、int16、uint16、int32、uint32 数据类型的转换函数。

人们总是可以在不损失精度的情况下从字节、16 位和 32 位数据类型转换为 int64 和 uint64。这是语言的本意吗?

go

4
推荐指数
2
解决办法
1万
查看次数

将int转换为Go中的单个字节

https://github.com/tarm/serial/blob/master/serial.go#L103

type StopBits byte
type Parity byte

type Config struct {
    Name        string
    Baud        int
    ReadTimeout time.Duration
    Size byte
    Parity Parity
    StopBits StopBits
}
Run Code Online (Sandbox Code Playgroud)

我试图标记命令行并填写配置结构但我无法弄清楚如何从int或字符串转到单个字节?

示例大小7

试着

mysize := "7"
mysize[0]
Run Code Online (Sandbox Code Playgroud)

但是后来tarm/serial告诉我serial.Config中输入错误无效

i, err := strconv.Atoi("7")
Run Code Online (Sandbox Code Playgroud)

编译器抱怨我做不到 i.(byte)

我能使其工作的唯一方法是size: 7在config结构中进行硬编码.

go

4
推荐指数
1
解决办法
1万
查看次数

在Go中将float转换为int时如何舍入到最接近的int

当将float转换为int时,将舍弃小数。什么是干净的转换方法,以便将其舍入到最接近的整数。

x := int(3.6) 应该等于4而不是3。

go

2
推荐指数
2
解决办法
717
查看次数

golang如何运行rune()函数

我在网上发布了一个rune()在golang 中使用该功能的功能,但我很难查找它是什么.我正在阅读教程,对文档缺乏经验,因此很难找到我要找的东西.

具体来说,我试图了解为什么这会失败......

fmt.Println(rune("foo"))
Run Code Online (Sandbox Code Playgroud)

而这不是

fmt.Println([]rune("foo"))
Run Code Online (Sandbox Code Playgroud)

go

1
推荐指数
1
解决办法
1091
查看次数

如何在 Go 中将整数转换为字节

我生成一个 65 到 90 范围内的随机数(对应于大写字符的字节表示形式)。随机数生成器返回一个整数值,我想将其转换为字节。

当我说我想将整数转换为字节时,我并不是指数字的字节表示形式 - 即我不是指 int 66 变成字节 [54 54]。我的意思是,如果 RNG 返回整数 66,我想要一个值为 66 的字节(对应于大写B)。

types type-conversion go

0
推荐指数
1
解决办法
1899
查看次数

标签 统计

go ×12

type-conversion ×4

string ×2

types ×2

casting ×1

converters ×1

int ×1

slice ×1