Home >Backend Development >Golang >Quick Start: Use Go language functions to implement a simple library management system

Quick Start: Use Go language functions to implement a simple library management system

王林
王林Original
2023-07-30 09:18:02945browse

Quick Start: Using Go language functions to implement a simple library management system

Introduction:
With the continuous development of the field of computer science, the needs of software applications are becoming more and more diverse. As a common management tool, the library management system has also become one of the necessary systems for many libraries, schools and enterprises. In this article, we will use Go language functions to implement a simple library management system. Through this example, readers can learn the basic usage of functions in Go language and how to build a practical program.

1. Design ideas:
Let’s first take a look at what functions the library management system needs to have:

  1. Add books: Add new book information to the system.
  2. Delete book: Delete the specified book from the system based on the book number or name.
  3. Search for books: Query the detailed information of books from the system based on the book number, name or author.
  4. Modify the book: Modify the relevant information of the book according to the book number.
  5. Display books: Display all books in the system according to a certain format.

The design ideas are as follows:

  1. Use structures to represent book information, including number, name, author, publisher, price, etc.
  2. Use slices to store book information in the system.
  3. Define each functional function to correspond to the above requirements.

2. Code examples:
The following is a code example of using Go language functions to implement a simple library management system:

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("输入有误,请重新输入!")
        }
    }
}

3. Summary:
This article introduces the use Go language function implements a simple library management system. Through a simple example, readers can learn the basic usage and practical application of Go language functions. Of course, this is just a simple library management system. If you want to implement more complex functions, further expansion and optimization are needed. I hope this article can be of some help to readers in learning and using Go language functions.

The above is the detailed content of Quick Start: Use Go language functions to implement a simple library management system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Related articles

See more