欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

小工具推荐:今天吃啥好?用 Golang 来帮你决定!

最编程 2024-02-04 09:52:59
...

所以到底吃什么?

每天到了饭点都会莫名的焦虑,到底吃什么啊,感觉每个都想吃,每个也都不想吃的样子,非常的纠结。打开手机自带的Roll点App又要开始纠结到底点数对应啥,实在是非常的烦人,所以不如写一个程序自动帮我做决定好了。

然而自身太弱了,写不出手机应用,写Web应用的话……不也还是不会写吗!!就这么点小小的需求要等那么多东西学完才能写实在是太不Cool了。于是决定用golang自带的HTTP服务器,加上从网上10分钟水平的HTML,写个自己Roll着玩的就行了,于是一个很朴素的网页就有了:

var htmlFormat = `
<html>
<head>
    <style>
        a:link{text-decoration:none ; color:black;}
        a:visited {text-decoration:none ; color:black;}
        a:hover {text-decoration:underline ; color:black;}
        a:active {text-decoration:none ; color:black;} 
        body { font: normal 100%% Helvetica, Arial, sans-serif; }
    </style>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
    <body>
        %s
        <hr />
        <a href="../">点击此处返回</a>
    </body>
</html>
`

学习golang的时候也没有怎么好好的使用map,这次就强行把他当个数组来存储我们三餐都可以吃什么吧:

var breakfast, lunch, dinner map[int]string
var nbf, nlc, ndn int

既然有了三餐吃什么,当然要从文件里加载了啊(不然怎么练习一下读写文件呢嗯),然后直接爽快的复制三份,调整一下就有了三餐对应的函数,类似于:

func initbf() error {
    for ts := range breakfast {
        delete(breakfast, ts)
    }
    nbf = -1
    f, err := os.Open("breakfast")
    if err != nil {
        return err
    }
    defer f.Close()
    reader := bufio.NewReader(f)
    for {
        line, err := reader.ReadBytes('\n')
        nbf++
        breakfast[nbf] = string(line)
        

推荐阅读