我的Go+语言初体验——祝福留言小系统,让她也可以感受到你的祝福

秦 羽 秦 羽 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

小木再探GO+
前段时间看了一下GO+,也成功将环境等一系列搭建起来
相信有很多小伙伴刚上大学的时候老师期末会让做个小系统啥的
那么这不正好是个小素材可以学习嘛,最近呢也是考试频繁啊
四六级,考研,期末等等!!!所以我就想着做一个祝福留言系统
🙏博主第一次用GO+尝试做系统,还请各位大佬指教

GO+征文也快结束了,但是我希望这仅仅是个开始,而不是结束🤭
祝福每一位都可以如愿,考试会的全对,蒙的全对🤭

@

GO+祝福留言系统

  • 环境搭建
  • GO+版的祝福语管理系统
  • 前期想法
  • 界面展示
  • 整体界面
  • 增加祝福信息
  • 修改操作
  • 删除操作
  • 退出
  • 源代码
  • 写在最后

环境搭建

之前讨论过关于GO+的环境搭建,这里就不在赘述了,如果有需要可以查看下面的文章。
关于GO+的环境搭建

GO+版的祝福语管理系统

前期想法

万变不离其宗,我们在有想法之后要做的就是构思,前期做好,后期就会变得非常的简单。
每一条祝福语都拥有自己唯一的id,同样拥有祝福者,幸运儿(被祝福的人),以及祝福的话语。

界面展示

整体界面

在这里插入图片描述

增加祝福信息

在这里插入图片描述


每一次运行之后都会有提示框,可以继续进行操作

在这里插入图片描述

修改操作

此处修改可以对单个信息,也可以对全部的信息进行修改,接下来我会依次给大家展示:
$\textcolor{OrangeRed}{--> 1.修改幸运儿}$:computer:

在这里插入图片描述


成功之后我们再查询:

在这里插入图片描述


$\textcolor{OrangeRed}{--> 2.修改祝福者:}$:computer:

在这里插入图片描述


$\textcolor{OrangeRed}{--> 3.修改祝福的话语}$:computer:

在这里插入图片描述


$\textcolor{OrangeRed}{--> 4.修改全部}$:computer:

在这里插入图片描述

删除操作

为了更好的查看,我们再增加一个,然后进行删除操作
$\textcolor{OrangeRed}{--> 增+查:}$:computer:

在这里插入图片描述

$\textcolor{OrangeRed}{--> 删+查:}$:computer:

在这里插入图片描述

退出

在这里插入图片描述

到此我们简单的祝福留言小系统就完成了:kissing_heart:

源代码

package main

import (
    "fmt"
    "os"
)

// 储存祝福信息
var Mgr wishMessages

//定义保存祝福信息的结构体
type wishMessages struct {
    wish map[uint]*wish
}

//定义祝福话语的结构体
type wish struct {
    id      uint   //祝福信息id
    lucky   string //被祝福的幸运儿
    wisher  string //祝福者
    message string //祝福的话语
}

//查询所有祝福信息
func (w wishMessages) showAllWishs() {
    println("----所有祝福信息如下----\n\n")
    println("ID", "幸运儿", "祝福者", "祝福的话")
    for i, v := range w.wish {
        println(i, v.lucky, v.wisher, v.message)
    }
    println("--------------------------")
}

//增加祝福信息
func (w wishMessages) addWish() {
    println("请输入新祝福id:")
    var (
        wishID      uint
        wishLucky   string
        wishWisher  string
        wishMessage string
    )
    fmt.Scanln(&wishID)
    _, ok := w.wish[wishID]
    if ok {
        println("此祝福话语存在!")
        return
    }
    println("请输入幸运儿:")
    fmt.Scanln(&wishLucky)
    println("请输入祝福者:")
    fmt.Scanln(&wishWisher)
    println("请输入新的祝福的话语:")
    fmt.Scanln(&wishMessage)
    w.wish[wishID] = &wish{wishID, wishLucky, wishWisher, wishMessage}
}

//修改祝福的信息
func (w wishMessages) updateWish() {
    println("请输入要修改祝福话的id:")
    var (
        wishID      uint
        wishLucky   string
        wishWisher  string
        wishMessage string
        num         int
    )
    fmt.Scanln(&wishID)
    _, ok := w.wish[wishID]
    if !ok {
        println("查无此祝福话!")
        return
    }
    println("请输入要修改祝福的哪项信息:\n1.幸运儿;2.祝福者,3.祝福的话语,4.所有信息\n请输入序号:")
    fmt.Scanln(&num)
    switch num {
    case 1:
        println("请输入要修改幸运儿:")
        fmt.Scanln(&wishLucky)
        w.wish[wishID].lucky = wishLucky
    case 2:
        println("请输入要修改祝福者:")
        fmt.Scanln(&wishWisher)
        w.wish[wishID].wisher = wishWisher
    case 3:
        println("请输入要修改祝福的话语:")
        fmt.Scanln(&wishMessage)
        w.wish[wishID].message = wishMessage
    case 4:
        println("请输入要修改幸运儿:")
        fmt.Scanln(&wishLucky)
        println("请输入要修改祝福者:")
        fmt.Scanln(&wishWisher)
        println("请输入要修改祝福的话语:")
        fmt.Scanln(&wishMessage)
        w.wish[wishID] = &wish{
            lucky:   wishLucky,
            wisher:  wishWisher,
            message: wishMessage,
        }
    }
    println("----修改成功----")
}

//删除祝福的信息
func (w wishMessages) delWish() {
    println("请输入要修改祝福话语的id:")
    var wishID uint
    fmt.Scanln(&wishID)
    delete(w.wish, wishID)
    println("----删除成功----")
}

Mgr = wishMessages{
    wish: make(map[uint]*wish, 100),
}
println("-------------欢迎使用祝福信息管理系统-------------")
for {
    println(`
        1.查看所有祝福信息
        2.增加祝福信息
        3.修改祝福信息
        4.删除祝福信息
        5.退出程序
------------------------------------------
    `)
    println("请输入上面对应的序号来选择对应的操作:")
    var wishID uint
    fmt.Scanln(&wishID)
    switch wishID {
    case 1:
        Mgr.showAllWishs()
    case 2:
        Mgr.addWish()
    case 3:
        Mgr.updateWish()
    case 4:
        Mgr.delWish()
    case 5:
        os.Exit(1)
    default:
        println("输入错误,请重新输入!")
    }
}

参考资料:
曲鸟大佬的结合GO+的学生管理系统

写在最后

希望大家都可以愿望成真,如果想对他人祝福,欢迎留言🤭
希望她可以一研为定🤭

“我的Go+语言初体验” | 征文活动进行中......

...全文

相关推荐

学习 Go 语言(Golang)

学习 Go 语言(Golang),简单易懂的Go语言教程,让你分分钟学会GO语言

sty945

golang GO语言开发工具

golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具

penguinSeven

golang语言,window系统下安装go语言包安装包

golang语言,window系统下安装go语言包安装包 在 Windows 系统下安装 Go 语言包,可以按照以下步骤进行: 下载 Go 语言包 在官网 https://golang.org/dl/ 中下载适合你系统的Go语言包,选择 .msi 安装包下载即可。 安装 Go 语言包 双击下载的安装包,按照提示进行安装。 配置环境变量 在环境变量中添加 Go 语言的路径,如 C:\Go\bin。这样,你就可以在任意目录下运行 go 命令。 验证安装 打开命令行窗口,输入命令 "go version",如果能够输出 Go 的版本信息,则说明安装成功。 至此,你已经成功在 Windows 系统下安装了 Go 语言包。

心跃程序

Go语言圣经,golang学习入门到精通

Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。Go从C语言继承了相似的表达式语 法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器 码的运行效率以及和现有操作系统的无缝适配。 Go项目包括编程语言本身,附带了相关的工具和标准库,最后但并非代表不重要的,关于简洁编程哲学 的宣言。就事后诸葛的角度来看,Go语言的这些地方都做的还不错:拥有自动垃圾回收、一个包系统、 函数作为一等公民、词法作用域、系统调用接口、只读的UTF8字符串等。但是Go语言本身只有很少的特 性,也不太可能添加太多的特性。例如,它没有隐式的数值转换,没有构造函数和析构函数,没有运算 符重载,没有默认参数,也没有继承,没有泛型,没有异常,没有宏,没有函数修饰,更没有线程局部 存储。但是语言本身是成熟和稳定的,而且承诺保证向后兼容:用之前的Go语言编写程序可以用新版本 的Go语言编译器和标准库直接构建而不需要修改代码。 Go语言有足够的类型系统以避免动态语言中那些粗心的类型错误,但是Go语言的类型系统相比传统的强 类型语言又要简洁很多。虽然有时候这会导致一个“无类

封神梦

Go语言版的留言本

用于演示Golang的http及template的用法。

拙_言
评论 5
收藏 已收藏
分享
返回顶部
秦 羽
秦 羽 优质创作者: 后端开发技术领域 优质创作者: 后端开发技术领域
Go+ 开发者社区 1,099 成员 209 内容