Home >Backend Development >Golang >Golang function byte, rune and string type conversion skills

Golang function byte, rune and string type conversion skills

王林
王林Original
2023-05-17 08:21:051226browse

In Golang programming, byte, rune and string types are very basic and common data types. They play an important role in processing data operations such as strings and file streams. When performing these data operations, we usually need to convert them to each other, which requires mastering some conversion skills.

This article will introduce the byte, rune and string type conversion techniques of Golang functions, aiming to help readers better understand these data types and be able to apply them skillfully in programming practice.

1. Byte type

The byte type represents one byte of data in Golang. In Golang, a string is treated as an array of bytes. We can convert a string to an array of byte type, or we can convert an array of byte type to a string.

  1. Convert a string to a byte array

You can use []byte() in Golang to convert a string to a byte array. The sample code is as follows:

str := "Hello, world!"
byteArr := []byte(str)
fmt.Println(byteArr)

In the above code, we convert the string "Hello, world!" into a byte array and print out the value of the byte array. The running results are as follows:

[72 101 108 108 111 44 32 119 111 114 108 100 33]
  1. Convert byte array to string

Similarly, you can use string() in Golang to convert a byte array into a string. The sample code is as follows:

byteArr := []byte{72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33}
str := string(byteArr)
fmt.Println(str)

In the above code, we convert a byte array into a string "Hello, world!" and print out the value of the string. The running results are as follows:

Hello, world!

2. Rune type

The rune type is also called Unicode code point, which is used to represent the encoding of Unicode characters. Similar to byte, rune can also be converted to string type. It is suitable for handling the following situations:

  • If you want to analyze a piece of text and find or replace certain characters in it, you should use the rune type.
  • The rune type should be used when the text contains non-Ascii characters.
  1. Convert a string into a slice of rune type

You can use []rune() in Golang to convert a string into a slice of rune type. The sample code is as follows:

str := "Hello, 世界"
runeArr := []rune(str)
fmt.Println(runeArr)

In the above code, we convert the string "Hello, World" into a rune slice and print out the value of the rune slice, in which the Chinese character "World" is converted to Unicode encoding. The running results are as follows:

[72 101 108 108 111 44 32 19990 30028]
  1. Convert rune type slices to strings

Similarly, you can use string() in Golang to convert rune type slices into strings. The sample code is as follows:

runeArr := []rune{72, 101, 108, 108, 111, 44, 32, 19990, 30028}
str := string(runeArr)
fmt.Println(str)

In the above code, we convert the rune slice into the string "Hello, world" and print out the value of the string. The running results are as follows:

Hello, 世界

3. String type

The string type is one of the most important data types in Golang and is used to represent strings. Because string is regarded as an immutable array in Golang, when performing some operations, we need to convert it to other types of data, such as byte type, rune type, etc.

  1. Convert a string to a byte array

You can use []byte() in Golang to convert a string into a byte array. The sample code is as follows:

str := "Hello, world!"
byteArr := []byte(str)
fmt.Println(byteArr)

In the above code, we convert the string "Hello, world!" into a byte array and print out the value of the byte array. The running results are as follows:

[72 101 108 108 111 44 32 119 111 114 108 100 33]
  1. Convert a string into a slice of rune type

You can use []rune() in Golang to convert a string into a slice of rune type . The sample code is as follows:

str := "Hello, 世界"
runeArr := []rune(str)
fmt.Println(runeArr)

In the above code, we convert the string "Hello, World" into a rune slice and print out the value of the rune slice, in which the Chinese character "World" is converted to Unicode encoding. The running results are as follows:

[72 101 108 108 111 44 32 19990 30028]

Summary

This article introduces the byte, rune and string type conversion techniques of Golang functions, and gives corresponding examples in the code. I hope this article can help readers better master the data type conversion skills in Golang programming, thereby improving programming skills and program efficiency.

The above is the detailed content of Golang function byte, rune and string type conversion skills. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn