迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Go >

在 Golang 中将字符串转换为字节数组

作者:迹忆客 最近更新:2023/03/03 浏览次数:

如果你是 Go 新手并想知道为什么这是一个字节数组,那么你并不孤单。当我最初开始学习 Go 时,这是一位计算机科学家熟人问我的第一件事。

当你在 Golang 中将字符串转换为字节数组时,你将获得一个包含字符串字节的切片。Go 中的字符串只是一个只读字节切片。一个字符串可以携带任意数量的字节;因此,重要的是马上说出来。

Unicode 文本、UTF-8 文本或任何其他指定格式是不必要的。就其内容而言,字符串与字节切片相同。

以下是在 Go 中处理字符串的一些有用提示。

使用 Golang 中的 byte() 函数将 String 转换为 Byte 数组。一个字节是一个无符号的 8 位整数。byte() 方法返回一个数组,该方法将字符串作为输入。

当你创建一个字符串时,你实际上是在创建一个字节数组。因此,你可以像读取数组一样读取单个字节。

例如,以下代码遍历字符串中的每个字节并将其输出为字符串和字节。

package main

import "fmt"

func main() {
	str := "hello boss!"
	data := []byte(str)
	fmt.Println(data)
}

输出:

[104 101 108 108 111 32 98 111 115 115 33]

在此示例中,我们将使用 []byte(strToConvert) 在 Golang 中将字符串转换为字节数组。

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := []byte(strToConvert)
	fmt.Println(byteString)
}

输出:

[104 101 108 108 111 32 98 111 115 115 33]

在本例中,字符串将使用 copy() 函数复制到字节数组中。结果,我们声明了一个字节数组并使用复制函数将字符串复制到其中。

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := make([]byte, len(strToConvert))
	copy(byteString, strToConvert)
	fmt.Println(byteString)
}

输出:

[104 101 108 108 111 32 98 111 115 115 33]

在 Go 中,字符串可以转换为字节切片 []byte,字节切片可以转换回字符串。这是一个简单的过程,似乎与任何其他类型的更改相同。

这种转换经常用于将字符串输入到将字节切片或字节切片输入到需要字符串的函数的函数中。

package main

import "fmt"

func main() {
	var s string = "hello boss!"
	fmt.Println(s)
	var b []byte
	b = []byte(s)
	fmt.Println(b)
	for i := range b {
		fmt.Println(string(b[i]))
	}
	s = string(b)
	fmt.Println(s)
}

输出:

hello boss!
[104 101 108 108 111 32 98 111 115 115 33]
h
e
l
l
o
 
b
o
s
s
!
hello boss!

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Golang 中的零值 Nil

发布时间:2023/04/27 浏览次数:166 分类:Go

本篇文章介绍 nil 在 Golang 中的含义,nil 是 Go 编程语言中的零值,是众所周知且重要的预定义标识符。

Golang 中的 Lambda 表达式

发布时间:2023/04/27 浏览次数:93 分类:Go

本篇文章介绍如何在 Golang 中创建 lambda 表达式。Lambda 表达式似乎不存在于 Golang 中。 函数文字、lambda 函数或闭包是匿名函数的另一个名称。

Go 中的深度复制

发布时间:2023/04/27 浏览次数:90 分类:Go

当我们尝试生成对象的副本时,深层副本会准确复制原始对象的所有字段。 此外,如果它有任何对象作为字段,也会制作这些对象的副本。本篇文章介绍如何在 Golang 中进行深度复制。

在 Go 中捕获 Panics

发布时间:2023/04/27 浏览次数:66 分类:Go

像错误一样,Panic 发生在运行时。 换句话说,当您的 Go 程序中出现意外情况导致执行终止时,就会发生 Panics。让我们看一些例子来捕捉 Golang 中的Panics。

Go 中的日志级别

发布时间:2023/04/27 浏览次数:199 分类:Go

本篇文章介绍如何在 Golang 中创建和使用日志级别。Go 中的日志级别。Golang提供了一个日志包,名为log,是一个简单的日志包。 这个包不提供分级日志; 如果我们想要分级日志记录,我们必须

在 Go 中使用断言

发布时间:2023/04/27 浏览次数:181 分类:Go

本篇文章介绍了 assert 在 GoLang 中的使用。在 Go 语言中使用断言:GoLang 不提供对断言的任何内置支持,但我们可以使用来自 Testify API 的广泛使用的第三方包断言。

Go 中的随机数生成

发布时间:2023/04/27 浏览次数:114 分类:Go

本篇文章介绍如何在 Go 语言中使用随机数生成功能。Go 中的随机数生成 Go 语言为随机数生成功能提供内置支持。 内置包 math 有方法 rand(),用于随机数生成。

GoLang 电子邮件验证器

发布时间:2023/04/27 浏览次数:195 分类:Go

本篇文章介绍如何在 Go 语言中验证电子邮件。电子邮件需要特定格式; 否则,它们将无法工作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便