如何在Golang中将数字(int或float64)转换为字符串

How do I convert any given number which can be a int or float64 to string ?

Using strconv.FormatFloat or FormatInt I have to specify that the given number is a float or integer. In my case it is unknown what I get.

Behaviour:

When I get a 5 it should be converted into "5" and not "5.00"

When I get a 1.23 it should be converted into "1.23" and not "1"

You may use fmt.Sprint

fmt.Sprint returns string format of any variable passed to it

Sample

package main

import (
    "fmt"
)

func main() {
    f := fmt.Sprint(5.03)
    i := fmt.Sprint(5)
    fmt.Println("float:",f,"
int:",i)
}

play link

If you don't know what type the number you need to convert to string will be, you can just use fmt.Sprintf with the %v verb:

fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"

strconv.Itoa