Home >Backend Development >Golang >How to convert numbers to strings in Go language

How to convert numbers to strings in Go language

藏色散人
藏色散人Original
2020-12-18 15:08:557496browse

How to convert numbers to strings in the Go language: First create a go sample file; then use the "strconv.Itoa" method in the strconv package to convert the byte or int type value into the string representation of the number. That’s it.

How to convert numbers to strings in Go language

Environment of this article: Windows 7 system, Go1.11.2 version, this article is applicable to all brands of computers.

Recommended tutorial: "go Language Tutorial"

The correct posture for converting numbers to strings in Go

In many languages , you can easily convert any data type to a string by concatenating it with a string, or using a type conversion expression. However, if you try to do something that seems obvious in Go (like converting an int to a string), you're unlikely to get the desired effect.

For example:

string(120)

What result do you expect to be returned? If you have experience with other programming languages, most people's guess is "123". In contrast, the above type conversion in Go would result in a value like "E", which is not what we want at all. Because string() will directly convert bytes or numbers into the UTF-8 representation of characters.

So the correct way to convert a byte or int type value into a numerical string representation in Go is to use the method in the strconv package, such as strconv.Itoa.

strconv.Itoa(120)// 返回"120"

In the following example, you can try changing strconv.Itoa to string to see what output you get.

package main
import (
  "fmt"
  "strings"
  "strconv"
)
type IPAddr [4]byte
func (p IPAddr) String() string {
    var ipParts []string
    for _, item := range p {
ipParts = append(ipParts, strconv.Itoa(int(item)))
    }
    return strings.Join(ipParts, ".")
}
func main() {
    hosts := map[string]IPAddr{
"loopback":  {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
    }
    for name, ip := range hosts {
fmt.Printf("%v: %v\n", name, ip)
    }
}

The above is the detailed content of How to convert numbers to strings in Go language. 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