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.
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!