go桌面,logo桌面

大家好!go桌面今天让小编来大家介绍下关于logo桌面,以下是小编对此问题的归纳整理,让我们一起来看看吧。

go的定位主要是写后端,但是有时候写go的人也想写一些桌面应用,实现一些配置工具啥的,下面介绍lorca库,可以基于webkit和html来实现ui应用。

示例中的代码,主要实现了生成小朋友加减乘除的题目,ui.Bind相当于实现了go函数到浏览器的函数注入功能,这个实现了,剩下的就是写些简单的html显示。代码从vscode拷入,排版没了,可以复制到vscode中看。

package main


import ( "fmt" "log" "net/url"
"./docgen"
"github.com/atotto/clipboard" "github.com/zserge/lorca")


func main() { // Create UI with basic HTML passed via data URI ui, err := lorca.New("data:text/html,"+url.PathEscape(` u0026lt;htmlu0026gt; u0026lt;headu0026gt; u0026lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /u0026gt; u0026lt;titleu0026gt;四则运算生成器u0026lt;/titleu0026gt; u0026lt;/headu0026gt; u0026lt;scriptu0026gt; async function calcit_ok(a,b,c,op,opnum) { // alert(a); var opP = 0; if (op != u0026#39;simpleu0026#39;){ opP = 1; } var opnumP = 2; if (opnum != u0026#39;simpleu0026#39;){ opnumP = 3; } let out= await getit56(+a,+b,+c,opP,opnumP); // document.getElementById("out").innerText=out; document.getElementById("out").innerHTML=u0026#39;u0026lt;PREu0026gt;u0026#39;+out+u0026#39;u0026lt;/PREu0026gt;u0026#39;; // alert(out); } // async function calcit(a,b,c,op,opnum,page) { // alert(a); var opP = 0; if (op != u0026#39;simpleu0026#39;){ opP = 1; } var opnumP = 2; if (opnum != u0026#39;simpleu0026#39;){ opnumP = 3; } let out= getit56(+a,+b,+c,opP,opnumP,+page); Promise.all([out]).then((values)=u0026gt;{ // console.log(values); document.getElementById("out").innerHTML=u0026#39;u0026lt;PREu0026gt;u0026#39;+values[0]+u0026#39;u0026lt;/PREu0026gt;u0026#39;; } ); } u0026lt;/scriptu0026gt; u0026lt;bodyu0026gt; u0026lt;h1u0026gt;请您出题u0026lt;/h1u0026gt; u0026lt;figureu0026gt; u0026lt;form u0026gt; u0026lt;tableu0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;N内的数字:u0026lt;/tdu0026gt; u0026lt;tdu0026gt;u0026lt;input type="text" name="maxNumber" value=20u0026gt;u0026lt;td/u0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;题目数:u0026lt;/tdu0026gt; u0026lt;tdu0026gt;u0026lt;input type="text" name="total" value=50u0026gt;u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;每行列数:u0026lt;/tdu0026gt; u0026lt;tdu0026gt;u0026lt;input type="text" name="col" value=4u0026gt;u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;题目类型:u0026lt;/tdu0026gt; u0026lt;tdu0026gt; u0026lt;input type="radio" name="op" value="simple" checked="true"u0026gt;加减u0026lt;bru0026gt; u0026lt;input type="radio" name="op" value="diff"u0026gt;加减乘除 u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;算数个数:u0026lt;/tdu0026gt; u0026lt;tdu0026gt; u0026lt;input type="radio" name="opNum" value="simple" u0026gt;两个数字u0026lt;bru0026gt; u0026lt;input type="radio" name="opNum" value="diff" checked="true"u0026gt;三个数字 u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;页数:u0026lt;/tdu0026gt; u0026lt;tdu0026gt;u0026lt;input type="text" name="page" value=6u0026gt;u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;tru0026gt; u0026lt;tdu0026gt;u0026lt;input type="button" class="btn" value="生成" onclick="calcit(maxNumber.value,total.value,col.value,op.value,opNum.value,page.value)" /u0026gt;u0026lt;/tdu0026gt; u0026lt;/tru0026gt; u0026lt;/tableu0026gt; u0026lt;/formu0026gt; u0026lt;/figureu0026gt; u0026lt;bru0026gt; u0026lt;figure id=u0026#39;outu0026#39; style=u0026#39;{ border:3px solid #000}u0026#39; u0026gt; u0026lt;pu0026gt;this is out!u0026lt;/pu0026gt; u0026lt;/figureu0026gt; u0026lt;/bodyu0026gt; u0026lt;/htmlu0026gt; `), "", 640, 480) if err != nil { log.Fatal(err) } defer ui.Close() // Wait until UI window is closed err = ui.Bind("getit56", func(a, b, c, op, opnum, page int) (string, error) { var out []string var outs [][]string for i := 0; i u0026lt; page; i++ { out = gen(a, b, c, op, opnum) outs = append(outs, out) } docgen.Gendoc(outs, c, opnum) out2 := genpage(out, c) clipboard.WriteAll(out2) return out2, nil }) if err != nil { fmt.Println("err:", err) return }
u0026lt;-ui.Done()}
func genpage(contentList []string, col int) string { var contents string for i := 0; i u0026lt; len(contentList); i++ { if (i+1)%col == 0 { contents += contentList[i] + "rn" } else { contents += contentList[i] + "tt" } } return contents}

用go也可以做一些有界面的小应用

本文到此结束,希望对大家有所帮助。

标签:
沈涵蓉
沈涵蓉 微信号:沈涵蓉 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 发财树叶子蔫了怎么办(发财树叶子发黄干枯怎么处理)

    大家好,小丽今天来为大家解答发财树叶子蔫了怎么办以下问题,发财树叶子发黄干枯怎么处理很多人还不知道,现在让我们一起来看看吧!1、一、

  2. 2 癌症体质的人,通常有4个“特性”,希望你一个也没有

    千 百 万 环 保 超 市 会 员 共 同 关 注 !癌症,这个字眼总能让人心生惧怕,它如同沉寂潜行的死神,或者在任何人群中默默显现。然而,癌症并

  3. 3 乔布莱恩特总冠军(我想看乔布莱恩特)

    大家好,小美今天来为大家解答乔布莱恩特总冠军以下问题,我想看乔布莱恩特很多人还不知道,现在让我们一起来看看吧!1、迈克汤普森以状元的

  4. 4 夫君们笑一个男主(夫君们,笑一个)

    大家好,小伟今天来为大家解答夫君们笑一个男主以下问题,夫君们,笑一个很多人还不知道,现在让我们一起来看看吧!1、封城九宫主岚颜,从小心

  5. 5 可怜绣户侯门女独卧青灯古佛旁(可怜绣户侯门女独卧青灯古佛旁写的是谁)

    大家好,小美今天来为大家解答可怜绣户侯门女独卧青灯古佛旁以下问题,可怜绣户侯门女独卧青灯古佛旁写的是谁很多人还不知道,现在让我们一

  6. 6 人有三急是指哪三急呀(人有三急的三急指的是哪三急)

    大家好,小美今天来为大家解答人有三急是指哪三急呀以下问题,人有三急的三急指的是哪三急很多人还不知道,现在让我们一起来看看吧!1、通常

  7. 7 小学部|综合实践活动、劳动、地方课程教研|深耕细研不负春,“研”途花开溢芳菲——三学科本学期第二次联合研训

    深耕细研不负春“研”途花开溢芳菲三学科本学期第二次结合研训春之美,在于生机与勃发;教之美,在于钻研与提拔。4月18日上午,滨江区小学综

  8. 8 亚洲最帅男明星是谁(亚洲十大最帅男星)

    大家好,小美今天来为大家解答亚洲最帅男明星是谁以下问题,亚洲十大最帅男星很多人还不知道,现在让我们一起来看看吧!1、肖战能够成为亚洲

Copyright 2024 优质自媒体,让大家了解更多图文资讯!