Golang程序将字符串值转换为字节值

Golang程序将字符串值转换为字节值

在本教程中,我们将学习如何使用golang编程语言将字符串值转换成字节值。

字符串值 – 字符串值只是一个字符序列,如 “abc”。字符串值总是用引号括起来。所有类型的字符都被允许(甚至是数字,如 “abc123″)。字符串可以包含任何数量的字符。

字节值 – 字节数据类型是一个8位有符号的两补整数。它的最小值为-128,最大值为127(包括)。字节数据类型对于在大数组中节省内存很有帮助,因为节省内存很重要。

例-1:使用[]byte(string)将字符串值转换为字节值的Go程序代码

语法

[]byte(string)

INPUT = 我们传递一个字符串给字节片。

OUTPUT = 返回字符串中所有字符的字节数

算法

  • 第1步 – 导入软件包 fmt
  • 第2步 – 启动函数main()。

  • 第3步 – 声明一个字符串值

  • 第4步 – 将字符串值转换为字节值

  • 第5步 – 在屏幕上打印出字节值的片断

示例

package main

//import format package
import (
   "fmt"
)

// start the function main ()
// program execution starts here
func main() {
   fmt.Println("GOLANG PROGRAM TO CONVERT STRING VALUE TO BYTE VALUE")
   //declare string
   s := "SWIFT"
   fmt.Println("String value entered:\n",s)

   fmt.Println("After converting to Bytes value:")
   //convert string to bytes
   b := []byte(s)

   //display the slice of bytes using fmt.Println () function
   fmt.Println(b)

}

输出

GOLANG PROGRAM TO CONVERT STRING VALUE TO BYTE VALUE
String value entered:
   SWIFT
After converting to Bytes value:
[83 87 73 70 84]

描述

  • 在上述程序中,我们首先声明包main。

  • 我们导入了fmt包,其中包括包fmt的文件。

  • 现在启动函数main(),这个函数是可执行程序的入口。它不接受任何参数,也不返回任何东西。

  • 声明将被转换为字节值的字符串值。在代码第16行:我们用变量名声明并初始化一个字符串。

  • 使用[]byte(string)函数将字符串值转换为字节值。在代码第19行:我们将字符串s传递给字节片,将其转换为一个字节片。我们将这个字节片分配给变量b

  • 最后,我们使用函数fmt.Println()在屏幕上打印字节片,该函数使用其操作数的默认格式进行格式化,并写入标准输出。

  • 在这个例子中,我们使用了byte()函数。一个字节是一个8位无符号int。byte()函数接受一个字符串作为输入并返回数组。

例2:使用Make()函数和Copy()函数将字符串值转换成字节值的Go程序代码

语法

func make(t Type, size ...IntegerType) Type
func copy(dst, src []Type) int

算法

  • 第1步 – 导入软件包 fmt

  • 第2步 – 启动函数main()。

  • 第3步 – 声明一个字符串值并初始化它

  • 第4步 – 使用make ()函数将字符串值转换为字节值

  • 第5步 – 使用内置的copy()函数,将元素复制到目标片中。

  • 第6步 – 在屏幕上打印字节值的片断

示例

package main

//import format package

import (
   "fmt"
)

// start the function main ()
// program execution starts here
func main() {
   fmt.Println("GOLANG PROGRAM TO CONVERT STRING VALUE TO BYTE VALUE")
   // Declare a string variable
   var strToConvert string
   // initialize the string variable to be converted
   strToConvert = "JEEPERS CREEPERS"
   fmt.Println("Entered value =",strToConvert)
   // convert the string value to byte value using
   // the function make ()
   byteString := make([]byte, 10)

   // The built-in copy function copies elements
   // into a destination slice dst from a source slice src
   copy(byteString, strToConvert)
   fmt.Println("After conversion of the string value to byte:")

   // print the result using fmt.Println () function
   fmt.Println(byteString)
}

输出

GOLANG PROGRAM TO CONVERT STRING VALUE TO BYTE VALUE
Entered value = JEEPERS CREEPERS
After conversion of the string value to byte:
[74 69 69 80 69 82 83 32 67 82]

描述

  • 在上面的程序中,我们首先声明包的main。

  • 我们导入了fmt包,其中包括包fmt的文件。

  • 现在启动函数main(),这个函数是可执行程序的入口。它不接受任何参数,也不返回任何东西。

  • 声明要转换的字符串值,并初始化它。

  • 使用内置函数make()将字符串值转换为字节值。make()函数用于切片、地图或通道。make()在堆上分配内存,初始化并将零或空字符串放入值中,make()返回与其参数相同的类型。

  • 接下来,我们使用内置函数copy()将元素从源片复制到目的片dst。它返回复制的元素数,这将是len(dst)和len(src)的最小值。这个结果并不取决于参数是否重叠。

  • 最后,我们使用函数fmt.Println()在屏幕上打印字节值的片断,该函数使用其操作数的默认格式进行格式化并写入标准输出。

结论

在以上两个例子中,我们已经成功地编译并执行了golang程序代码,将字符串值转换为字节值。在第一个例子中,我们使用了[]byte(string)函数来将字符串值转换为字节值。

在第二个例子中,我们使用了golang的两个内置函数,make()函数和copy()函数来将字符串值转换成字节值。