我在ARM显示设备上使用QtEmbedded(4.8.0),帧缓冲区(/ dev/fb0)上的颜色深度为16位.在这种情况下,我们将颜色位RED和BLUE交换.
我们使用以下编译标志:
./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -prefix /home/rchaves/Toolchain -release -opensource -shared -fast -depths 16 -largefile -no-exceptions -no-accessibility -stl -no-sql-mysql -no-sql-psql -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-db2 -no-sql-sqlite -no-sql-sqlite2 -no-sql-ibase -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-openssl -no-nis -no-cups -iconv -no-pch -no-dbus -qt-freetype -no-opengl -qt-gfx-linuxfb -qt-kbd-linuxinput -qt-mouse-tslib -nomake demos -nomake examples
Run Code Online (Sandbox Code Playgroud)
以及执行应用程序的以下参数:
QWS_DISPLAY=LinuxFb:/dev/fb0:depth=16 ./app -qws
Run Code Online (Sandbox Code Playgroud)
这里有应用程序framebuffer(samples)日志:
The framebuffer device was opened successfully.
Fixed screen info:
id: DISP3 BG
smem_start: 0x93800000 …Run Code Online (Sandbox Code Playgroud) 我有一个带有n元素的向量。我正在使用它来呈现模板中的项目。但我只需要渲染 5 个第一个元素。请注意,vector 中的元素可能少于 5 个,在这种情况下将渲染所有元素。有没有办法在模板中做到这一点?
{{range .Categorias}}
<li class="nav-item">
{{.Nome}}
</li>
{{end}}
Run Code Online (Sandbox Code Playgroud) 您好,我正在开发一个以货币格式格式化值的函数。我正在使用 golang.org/x/text/currency 来完成这项工作,但我得到的输出是逗号位置的点,没有千位分隔符。
func (produto *Produto) FormataPreco(valor int64) string {
unit, _ := currency.ParseISO("BRL")
p := message.NewPrinter(language.BrazilianPortuguese)
return p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))
}
Run Code Online (Sandbox Code Playgroud)
预期结果应该是 R$ 123.456,78 但我得到 R$ 123456.78
- - 编辑 - -
我做了一个使用硬编码值的版本,但我想要一个使用系统区域设置资源的解决方案。
func (produto *Produto) FormataPreco(valor int64) string {
p := message.NewPrinter(language.BrazilianPortuguese)
return p.Sprintf("R$ %.2f", float64(valor/100))
}
Run Code Online (Sandbox Code Playgroud) 我正在将一个库从 Java 移植到 Go。该库传递所有参数并以字符串形式返回,由于后续步骤,我必须保持这种方式。我注意到当我将 rune/int8 数组转换为字符串并将其转换回 rune/int8 数组时,我得到了不同的值。我相信这是由 Unicode 字符引起的。有没有办法获得相同的值?
package main
import "fmt"
func main() {
runes := make([]rune,3)
runes[0] = 97
runes[1] = -22
runes[2] = 99
s := string(runes)
fmt.Println(runes)
for _,r := range(s) {
fmt.Println(r)
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
[97 -22 99]
97
65533
99
Run Code Online (Sandbox Code Playgroud)