如何返回整数字节数组中的最后一个元素

Melody Anoni:

在Go中,我想在整数数组中找到最后一个元素。

我有一个清单:

    [0.0.1, 0.0.2, 0.0.3]

我只是想:

    0.0.3

每当我尝试返回最后一个元素时,控制台都会返回

    %!(EXTRA uint8=10)

我认为这意味着我需要将字节数组转换为切片?

这是我的代码:

cmd := exec.Command("git", "tag")
out, err := cmd.CombinedOutput()
if err != nil {
    log.Fatalf("cmd.Run() failed with %s\n", err)
}
fmt.Printf("Variable Type:\n%s\n", reflect.TypeOf(out))
fmt.Printf("Variable:\n%s\n", (out))

slice := out[0: len(out)]
releaseVersion := slice[len(slice) - 1]
fmt.Printf("release version:", releaseVersion)

这是输出:

Variable Type:
[]uint8

Variable:
0.0.1
0.0.2
0.0.3

release version:%!(EXTRA uint8=10)
user10753492:

您看到的原因%!(EXTRA uint8=10)您正在呼叫时Printf没有格式选项。您应该打电话给fmt.Println

10 是换行符的编码。

现在,您要问的问题:

您有一个字节数组(切片)。

您试图将其解释为行(用“ \ n”分隔的字符串)。

将字节数组解释为字符串很容易(假设字节实际上代表了utf-8字符串):

// assume buf is []byte
var text = string(buf)

您要将其视为字符串列表。由于git tag返回行,因此可以用'\ n'分割,也可以仅strings.Fields按通用空格(包括换行符)进行调用记录在这里:https : //golang.org/pkg/strings/#Fields

var parts = strings.Fields(text)

现在您可以轻松获取最后一个元素:

parts[len(parts)-1]

但是为了安全起见,您应该检查列表中是否包含某些元素,否则您将在越界访问时崩溃。

cmd := exec.Command("git", "tag")
bufOut, err := cmd.Output()
if err != nil {
    log.Fatalf("cmd.Run() failed with %s\n", err)
}
textOut := string(bufOut)
parts := strings.Fields(textOut)
if len(parts) == 0 {
    log.Fatal("No tags")
}
releaseVersion := parts[len(parts)-1]
fmt.Println("release version:", releaseVersion)

为什么这个原因是如此复杂?在JAVASCRIPT中,我可以执行pop()

其实不是那么复杂。这就是计算机的工作方式。程序运行时,它具有标准输出,该输出实质上是字节流。

我猜测javascript会自动为您执行此步骤:

textOut := string(bufOut)
parts := strings.Fields(textOut)

将程序输出转换为由新行分隔的字符串列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建一个空字节数组?

如何在一个字节数组中连续查找一个字节数组?

将2个字节从字节数组转换为一个整数

Encoding.GetString()仅返回字节数组中的第一个字节

匹配后如何从字节数组中获取下一个2个字节

如何使用字节缓冲区表示一个字节数组中的数据?

在另一个字节数组中查找一个字节数组的indexOf

如何分配一个以上的字节数组以添加到 vb.net 中的队列中?

如何在 F# 中创建一个可以加密字节数组的 xor 函数?

将字节从字节数组复制到C#中另一个字节数组的特定位置

将内存中的一个数据块保存到字节数组中,以便稍后从字节数组中恢复该块

如何说服AVR-GCC全局字节数组的内存位置是一个常量

如何构造一个包含多个数据类型值的字节数组?

如何获得最好从春季的WebClient一个ClientResponse的字节数组?

如何创建一个“对齐的”字节数组并从中读取?

在Go中压缩一个字节数组

文件下载一个字节数组作为javascript / Extjs中的文件

将3个独立的字节数组合并为一个字节数组

多个图像到一个字节数组?字节数组数组?

如何计算整数中的字节数

将字节数组复制到C#中的另一个字节数组

将多个字节数组复制到一个大字节数组

如何将字节数组中的十六进制值作为解释的 ASCII 数字转换为整数?

创建一个Spark udf函数以遍历字节数组并将其转换为数字

如何在Java中将整数值转换为'n'位数字ascii字节数组

如何将字节数组中的特定字节转换为整数

从JPEG编码的cv2.imencode字节数组中获取一个numpy数组

用不同的4字节数字替换长数字中的最后4个字节

如何用Java 7中的一组众所周知的值初始化一个无符号字节数组?