一尘不染

浮点数输出中的“%!s”是什么?

go

我正在将坐标(位置)作为2个float64数字的输出,它看起来像这样:

&{%!s(float64=42.539679) %!s(float64=42.601339)}

这是我第一次看到这样的东西,那么“%!s”是什么?“ TypeOf”表示“%!s(float64 =
42.539679)”是float64。那么如何使用这种浮子呢?有什么方法可以解析它,或者以某种方式使%!s(float64 =
42.539679)看起来像42.539679?

UPD:突出显示的行是Syfaro的电报bot API中的* tgbotapi.Location对象。API具有以下结构:

type Location struct {
    Longitude float64 `json:"longitude"`
    Latitude  float64 `json:"latitude"`
}

而Location.Latitude给了我这个:“%!s(float64 = 42.539679)”(float64)(?)


阅读 361

收藏
2020-07-02

共1个答案

一尘不染

https://golang.org/pkg/fmt/

%!s 基本上用于错误中,以帮助您确定问题。

2020-07-02