?? 小 木 再 探 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+的环境搭建
万变不离其宗,我们在有想法之后要做的就是构思,前期做好,后期就会变得非常的简单。
每一条祝福语都拥有自己唯一的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+的学生管理系统
希望大家都可以愿望成真,如果想对他人祝福,欢迎留言??
希望她可以一研为定??
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦