快速入门:使用Go语言函数实现简单的图书管理系统

2023年 8月 8日 58.1k 0

快速入门:使用Go语言函数实现简单的图书管理系统

引言:随着计算机科学领域的不断发展,软件应用的需求也越来越多样化。图书管理系统作为一种常见的管理工具,也成为很多图书馆、学校和企业必备的系统之一。在本文中,我们将使用Go语言函数来实现一个简单的图书管理系统。通过这个例子,读者可以学习到Go语言中函数的基本用法以及如何构建一个实用的程序。

一、设计思路:我们首先来看看图书管理系统需要具备哪些功能:

  • 添加图书:向系统中添加新的图书信息。
  • 删除图书:根据图书的编号或者名称,从系统中删除指定的图书。
  • 查找图书:根据图书的编号、名称或者作者,从系统中查询图书的详细信息。
  • 修改图书:根据图书的编号,修改图书的相关信息。
  • 展示图书:按照一定的格式展示系统中的所有图书。
  • 设计思路如下:

  • 使用结构体表示图书的信息,包括编号、名称、作者、出版社和价格等。
  • 使用切片来存储系统中的图书信息。
  • 定义各个功能函数,分别对应上述的需求。
  • 二、代码示例:下面是使用Go语言函数实现简单图书管理系统的代码示例:

    package main

    import (
    "fmt"
    )

    // 图书结构体
    type Book struct {
    Id int
    Name string
    Author string
    Press string
    Price float64
    }

    // 图书列表
    var bookList []Book

    // 添加图书
    func addBook() {
    var book Book
    fmt.Println("请输入图书的编号:")
    fmt.Scanln(&book.Id)
    fmt.Println("请输入图书的名称:")
    fmt.Scanln(&book.Name)
    fmt.Println("请输入图书的作者:")
    fmt.Scanln(&book.Author)
    fmt.Println("请输入图书的出版社:")
    fmt.Scanln(&book.Press)
    fmt.Println("请输入图书的价格:")
    fmt.Scanln(&book.Price)

    bookList = append(bookList, book)
    }

    // 删除图书
    func deleteBook() {
    var input string
    fmt.Println("请输入要删除的图书的编号或名称:")
    fmt.Scanln(&input)

    for i, book := range bookList {
    if book.Name == input || fmt.Sprintf("%v", book.Id) == input {
    bookList = append(bookList[:i], bookList[i+1:]...)
    fmt.Println("删除成功!")
    return
    }
    }

    fmt.Println("未找到要删除的图书!")
    }

    // 查找图书
    func findBook() {
    var input string
    fmt.Println("请输入要查找的图书的编号、名称或作者:")
    fmt.Scanln(&input)

    for _, book := range bookList {
    if book.Name == input || fmt.Sprintf("%v", book.Id) == input || book.Author == input {
    fmt.Printf("编号:%v
    名称:%v
    作者:%v
    出版社:%v
    价格:%v
    ", book.Id, book.Name, book.Author, book.Press, book.Price)
    return
    }
    }

    fmt.Println("未找到相关图书!")
    }

    // 修改图书
    func modifyBook() {
    var input string
    fmt.Println("请输入要修改的图书的编号:")
    fmt.Scanln(&input)

    for i, book := range bookList {
    if fmt.Sprintf("%v", book.Id) == input {
    fmt.Println("请输入新的图书名称:")
    fmt.Scanln(&bookList[i].Name)
    fmt.Println("请输入新的图书作者:")
    fmt.Scanln(&bookList[i].Author)
    fmt.Println("请输入新的图书出版社:")
    fmt.Scanln(&bookList[i].Press)
    fmt.Println("请输入新的图书价格:")
    fmt.Scanln(&bookList[i].Price)
    fmt.Println("修改成功!")
    return
    }
    }

    fmt.Println("未找到要修改的图书!")
    }

    // 展示图书
    func showBooks() {
    fmt.Println("图书列表:")
    for _, book := range bookList {
    fmt.Printf("编号:%v
    名称:%v
    作者:%v
    出版社:%v
    价格:%v

    ", book.Id, book.Name, book.Author, book.Press, book.Price)
    }
    }

    // 主函数
    func main() {
    for {
    fmt.Println("欢迎使用图书管理系统,请输入相应的操作序号:")
    fmt.Println("1. 添加图书")
    fmt.Println("2. 删除图书")
    fmt.Println("3. 查找图书")
    fmt.Println("4. 修改图书")
    fmt.Println("5. 展示图书")
    fmt.Println("6. 退出系统")

    var choice int
    fmt.Scanln(&choice)

    switch choice {
    case 1:
    addBook()
    case 2:
    deleteBook()
    case 3:
    findBook()
    case 4:
    modifyBook()
    case 5:
    showBooks()
    case 6:
    fmt.Println("感谢使用图书管理系统,再见!")
    return
    default:
    fmt.Println("输入有误,请重新输入!")
    }
    }
    }

    登录后复制

    三、总结:本文介绍了使用Go语言函数实现简单的图书管理系统的方法。通过一个简单的示例,读者可以学习到Go语言函数的基本使用方法和实际应用。当然,这只是一个简单的图书管理系统,如果要实现更复杂的功能,还需要进一步的扩展和优化。希望本文能对读者在学习和使用Go语言函数方面起到一定的帮助。

    以上就是快速入门:使用Go语言函数实现简单的图书管理系统的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论