Skip to content
On this page

数据转换

到目前为止,我们已经使用了数据类型与输出类型匹配的数据绑定(例如String和Label或Entry)。通常,希望呈现的数据格式不正确。为此,绑定包提供了许多有用的转换函数。

最常见的是,这将用于将不同类型的数据转换为字符串,以便在标签或条目小部件中显示。请参阅代码中如何使用binding.FloatToString将Float转换为String。可以通过移动滑块来编辑原始值。每次数据更改时,它都会运行转换代码并更新所有连接的小部件。

还可以使用格式字符串为用户界面添加更自然的输出。您可以看到,我们的短绑定也将Float转换为String,但通过使用WithFormat助手,我们可以传递一个格式字符串(类似于fmt包)以提供自定义输出。

go
package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/data/binding"
	"fyne.io/fyne/v2/widget"
)

func main() {
	myApp := app.New()
	w := myApp.NewWindow("Conversion")

	f := binding.NewFloat()
	str := binding.FloatToString(f)
	short := binding.FloatToStringWithFormat(f, "%0.0f%%")
	f.Set(25.0)

	w.SetContent(container.NewVBox(
		widget.NewSliderWithData(0, 100.0, f),
		widget.NewLabelWithData(str),
		widget.NewLabelWithData(short),
	))

	w.ShowAndRun()
}

最后,在本节中,我们将查看列表数据。