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

63 篇文章 1 订阅
61 篇文章 1 订阅

?? 小 木 再 探 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+的学生管理系统

写在最后

希望大家都可以愿望成真,如果想对他人祝福,欢迎留言??

希望她可以一研为定??

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

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值