当前位置:网站首页>My first experience of Go+ language——Blessing message system, so that she can also feel your blessings
My first experience of Go+ language——Blessing message system, so that she can also feel your blessings
2022-07-30 04:20:00 【m0_54861649】
?? 小 木 再 探 G O + extcolor{Orange}{小木再探GO+} 小木再探GO+
?? 前 段 时 间 看 了 一 下 G O + , 也 成 功 将 环 境 等 一 系 列 搭 建 起 来 extcolor{green}{前段时间看了一下GO+,也成功将环境等一系列搭建起来} 前段时间看了一下GO+,也成功将环境等一系列搭建起来??
?? 相 信 有 很 多 小 伙 伴 刚 上 大 学 的 时 候 老 师 期 末 会 让 做 个 小 系 统 啥 的 extcolor{Brown}{相信有很多小伙伴刚上大学的时候老师期末会让做个小系统啥的 } 相信有很多小伙伴刚上大学的时候老师期末会让做个小系统啥的??
?? 那 么 这 不 正 好 是 个 小 素 材 可 以 学 习 嘛 , 最 近 呢 也 是 考 试 频 繁 啊 extcolor{green}{那么这不正好是个小素材可以学习嘛,最近呢也是考试频繁啊} 那么这不正好是个小素材可以学习嘛,最近呢也是考试频繁啊??
?? 四 六 级 , 考 研 , 期 末 等 等 ! ! ! 所 以 我 就 想 着 做 一 个 祝 福 留 言 系 统 extcolor{Brown}{四六级,考研,期末等等!!!所以我就想着做一个祝福留言系统} 四六级,考研,期末等等!!!所以我就想着做一个祝福留言系统??
?? 博 主 第 一 次 用 G O + 尝 试 做 系 统 , 还 请 各 位 大 佬 指 教 extcolor{Orange}{博主第一次用GO+尝试做系统,还请各位大佬指教} 博主第一次用GO+尝试做系统,还请各位大佬指教??
GO+征文也快结束了,但是我希望这仅仅是个开始,而不是结束??
祝福每一位都可以如愿,考试会的全对,蒙的全对??
GO+祝福留言系统
环境搭建
之前讨论过关于GO+的环境搭建,这里就不在赘述了,如果有需要可以查看下面的文章.
关于GO+的环境搭建
GO+版的祝福语管理系统
前期想法
万变不离其宗,我们在有想法之后要做的就是构思,前期做好,后期就会变得非常的简单.
每一条祝福语都拥有自己唯一的id,同样拥有祝福者,幸运儿(被祝福的人),以及祝福的话语.
界面展示
整体界面

增加祝福信息

每一次运行之后都会有提示框,可以继续进行操作
修改操作
此处修改可以对单个信息,也可以对全部的信息进行修改,接下来我会依次给大家展示:
> 1. 修 改 幸 运 儿 extcolor{OrangeRed}{–> 1.修改幸运儿} >1.修改幸运儿??
成功之后我们再查询:
> 2. 修 改 祝 福 者 : extcolor{OrangeRed}{–> 2.修改祝福者:} >2.修改祝福者:??
> 3. 修 改 祝 福 的 话 语 extcolor{OrangeRed}{–> 3.修改祝福的话语} >3.修改祝福的话语??
> 4. 修 改 全 部 extcolor{OrangeRed}{–> 4.修改全部} >4.修改全部??
删除操作
为了更好的查看,我们再增加一个,然后进行删除操作
> 增 + 查 : extcolor{OrangeRed}{–> 增+查:} >增+查:??
> 删 + 查 : extcolor{OrangeRed}{–> 删+查:} >删+查:??
退出

到此我们简单的祝福留言小系统就完成了??
源代码
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("----所有祝福信息如下----
")
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("请输入要修改祝福的哪项信息:
1.幸运儿;2.祝福者,3.祝福的话语,4.所有信息
请输入序号:")
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+的学生管理系统
写在最后
希望大家都可以愿望成真,如果想对他人祝福,欢迎留言??
希望她可以一研为定??
边栏推荐
- Pytorch框架学习记录5——DataLoader的使用
- How does the AI intelligent security video platform EasyCVR configure the simultaneous transmission of audio and video?
- SQLSERVER merges subquery data into one field
- WEB 渗透之信息收集
- swagger使用教程——快速使用swagger
- JQ源码分析(环境处理)
- 【驱动】udev设置GPIO加载后所有者、所属组和权限
- 2.5快速排序
- PyG builds R-GCN to realize node classification
- 图像视角矫正之透视变换矩阵(单应矩阵)/findHomography 与 getPerspectiveTransformd的区别
猜你喜欢

为什么突然间麒麟 9000 5G 版本,又有库存了?

1. 获取数据-requests.get()

网页元素解析a标签

数组和结构体

Pytorch框架学习记录2——TensorBoard的使用
![Reverse Theory Knowledge 3 [UI Modification]](/img/f3/33db96f3dd149658859be58041ab43.png)
Reverse Theory Knowledge 3 [UI Modification]

day10--install mysql on linux

Shell script basic editing specifications and variables

WEB penetration of information collection

Pytorch framework learning record 4 - the use of datasets (torchvision.dataset)
随机推荐
Pytorch framework learning record 5 - the use of DataLoader
2021山东省网络搭建与应用赛项试题
Taobao H5 interface to obtain app data 6.0 format
Operational configuration: How to run multiple EasyCVR programs as a service in one server?
SQL Server data type conversion function cast () and convert () explanation
When the EasyNVR platform is cascaded to the EasyCVR, why can't the video be played after a while?
SSM框架简单介绍
Roperties类配置文件&DOS查看主机网络情况
商品管理系统数据库设计--SQL Server
[Driver] udev sets the owner, group and permissions after GPIO is loaded
05全局配置文件application.properties详解
1. 获取数据-requests.get()
代码开源设计实现思路
The underlying mechanism of the function
How to compare struct, slice, map for equality and the difference between several comparison methods in golang
Drools (7): WorkBench
[Driver] udev aliases each serial port of USB to 4 serial ports
@WebServlet注解(Servlet注解)
Pytorch framework learning record 1 - Dataset class code combat
[ 云原生之谜 ] 云原生背景 && 定义 && 相关技术详解?