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 重出江湖!安海人的骄傲!

  2. 2 excel怎么复制表格格式(excel复制表格格式变了)

    大家好,小娟今天来为大家解答excel怎么复制表格格式以下问题,excel复制表格格式变了很多人还不知道,现在让我们一起来看看吧!1、方法一、复制

  3. 3 路遥的作品(路遥的作品集)

    大家好,小丽今天来为大家解答路遥的作品以下问题,路遥的作品集很多人还不知道,现在让我们一起来看看吧!1、路遥的作品有:《平凡的世界》

  4. 4 摇曳的意思是什么(烛光摇曳的意思是什么)

    大家好,小伟今天来为大家解答摇曳的意思是什么以下问题,烛光摇曳的意思是什么很多人还不知道,现在让我们一起来看看吧!1、摇曳的意思是摇

  5. 5 跟男朋友聊天的话题搞笑(跟男朋友的聊天话题)

    大家好,小乐今天来为大家解答跟男朋友聊天的话题搞笑以下问题,跟男朋友的聊天话题很多人还不知道,现在让我们一起来看看吧!1、4. 我希望每

  6. 6 哪种射线引起的外照射可以不予考虑(射线外照射危害大小排序)

    大家好,小伟今天来为大家解答哪种射线引起的外照射可以不予考虑以下问题,射线外照射危害大小排序很多人还不知道,现在让我们一起来看看吧

  7. 7 鬼六神算(鬼六神算系列图)

    大家好,小乐今天来为大家解答鬼六神算以下问题,鬼六神算系列图很多人还不知道,现在让我们一起来看看吧!1、天宇系列加鬼六神算来源于中国

  8. 8 吉林大学珠海校区地址(吉林大学珠海学院详细地址查询)

    大家好,小美今天来为大家解答吉林大学珠海校区地址以下问题,吉林大学珠海学院详细地址查询很多人还不知道,现在让我们一起来看看吧!1、吉

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