首頁 後端開發 Golang 快速入門:使用Go語言函數實現簡單的圖書管理系統

快速入門:使用Go語言函數實現簡單的圖書管理系統

Jul 30, 2023 am 09:18 AM
簡單 快速入門:go函數 圖書管理系統

快速入門:使用Go語言函數實現簡單的圖書管理系統

引言:
隨著電腦科學領域的不斷發展,軟體應用的需求也越來越多樣化。圖書管理系統作為常見的管理工具,也成為許多圖書館、學校和企業必備的系統之一。在本文中,我們將使用Go語言函數來實作一個簡單的圖書管理系統。透過這個例子,讀者可以學習到Go語言中函數的基本用法以及如何建立一個實用的程式。

一、設計想法:
我們先來看看圖書管理系統需要具備哪些功能:

  1. 新增圖書:新增圖書在系統中的資訊。
  2. 刪除圖書:根據圖書的編號或名稱,從系統中刪除指定的圖書。
  3. 尋找圖書:根據圖書的編號、名稱或作者,從系統中查詢圖書的詳細資訊。
  4. 修改書籍:根據圖書的編號,修改圖書的相關資訊。
  5. 展示書籍:依照一定的格式展示系統中的所有書籍。

設計想法如下:

  1. 使用結構體表示圖書的訊息,包括編號、名稱、作者、出版社和價格等。
  2. 使用切片來儲存系統中的圖書資訊。
  3. 定義各個功能函數,分別對應上述的需求。

二、程式碼範例:
以下是使用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語言函數實現簡單的圖書管理系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

最簡單的硬碟序號查詢方式 最簡單的硬碟序號查詢方式 Feb 26, 2024 pm 02:24 PM

硬碟序號是硬碟的一個重要標識,通常用於唯一標識硬碟以及進行硬體識別。在某些情況下,我們可能需要查詢硬碟序號,例如在安裝作業系統、尋找正確裝置驅動程式或進行硬碟維修等情況下。本文將介紹一些簡單的方法,幫助大家查詢硬碟序號。方法一:使用Windows命令提示字元開啟命令提示字元。在Windows系統中,按下Win+R鍵,輸入"cmd"並按下回車鍵即可開啟命

如何使用Java來寫一個簡單的學生成績報表產生器? 如何使用Java來寫一個簡單的學生成績報表產生器? Nov 03, 2023 pm 02:57 PM

如何使用Java來寫一個簡單的學生成績報表產生器?學生成績報表產生器是可以幫助老師或教育者快速產生學生成績報告的工具。本文將介紹如何使用Java來撰寫簡單的學生成績報表產生器。首先,我們要定義學生對象和學生成績對象。學生對象包含學生的姓名、學號等基本訊息,而學生成績對象則包含學生的科目成績和平均成績等資訊。以下是一個簡單的學生物件的定義:public

快速入門:使用Go語言函數實現簡單的圖書管理系統 快速入門:使用Go語言函數實現簡單的圖書管理系統 Jul 30, 2023 am 09:18 AM

快速入門:使用Go語言函數實現簡單的圖書管理系統引言:隨著電腦科學領域的不斷發展,軟體應用的需求也越來越多樣化。圖書管理系統作為常見的管理工具,也成為許多圖書館、學校和企業必備的系統之一。在本文中,我們將使用Go語言函數來實作一個簡單的圖書管理系統。透過這個例子,讀者可以學習到Go語言中函數的基本用法以及如何建立一個實用的程式。一、設計思路:我們首先來

如何透過PHP編寫一個簡單的線上預約系統 如何透過PHP編寫一個簡單的線上預約系統 Sep 26, 2023 pm 09:55 PM

如何透過PHP編寫一個簡單的線上預約系統隨著網路的普及和使用者對便利性的追求,線上預約系統越來越受到歡迎。無論是餐廳、醫院、美容院或其他服務業,都可以透過簡單的線上預約系統來提高效率並為使用者提供更好的服務體驗。本文將介紹如何使用PHP編寫一個簡單的線上預約系統,並提供具體的程式碼範例。建立資料庫和表格首先,我們需要建立一個資料庫來儲存預約資訊。在MyS

如何透過C++寫一個簡單的音樂推薦系統? 如何透過C++寫一個簡單的音樂推薦系統? Nov 03, 2023 pm 06:45 PM

如何透過C++寫一個簡單的音樂推薦系統?引言:音樂推薦系統是現代資訊科技的研究熱點,它可以根據使用者的音樂偏好和行為習慣,向使用者推薦符合其口味的歌曲。本文將介紹如何使用C++來寫一個簡單的音樂推薦系統。一、收集用戶資料首先,我們需要收集用戶的音樂偏好資料。可以透過線上調查、問卷調查等方式來獲得使用者對不同類型音樂的喜好程度。將資料保存在一個文字檔案或資料庫

如何使用PHP開發簡單的檔案管理功能 如何使用PHP開發簡單的檔案管理功能 Sep 20, 2023 pm 01:09 PM

如何使用PHP開發簡單的文件管理功能簡介:文件管理功能在許多Web應用中都是不可或缺的一部分。它允許用戶上傳、下載、刪除和展示文件,為用戶提供了便捷的文件管理方式。本文將介紹如何使用PHP開發一個簡單的檔案管理功能,並提供具體的程式碼範例。一、創建專案首先,我們需要建立一個基本的PHP專案。在專案目錄下建立以下檔案:index.php:主頁面,用於顯示上傳表

如何透過C++寫一個簡單的掃雷遊戲? 如何透過C++寫一個簡單的掃雷遊戲? Nov 02, 2023 am 11:24 AM

如何透過C++寫一個簡單的掃雷遊戲?掃雷遊戲是一款經典的益智類遊戲,它要求玩家根據已知的雷區佈局,在沒有踩到地雷的情況下,揭示所有的方塊。在這篇文章中,我們將介紹如何使用C++來寫一個簡單的掃雷遊戲。首先,我們需要定義一個二維陣列來表示掃雷遊戲的地圖。數組中的每個元素可以是一個結構體,用於儲存方塊的狀態,例如是否揭示、是否有雷等資訊。另外,我們還需要定義

MySQL表設計指南:建立一個簡單的員工考勤表 MySQL表設計指南:建立一個簡單的員工考勤表 Jul 01, 2023 pm 01:54 PM

MySQL表設計指南:建立一個簡單的員工考勤表在企業管理中,員工的考勤管理是至關重要的任務。為了準確記錄和統計員工的考勤情況,我們可以利用MySQL資料庫來建立一個簡單的員工考勤表。本篇文章將指導您如何設計和建立這個表,並提供相應的程式碼範例。首先,我們需要確定員工考勤表所需的欄位。一般來說,員工考勤表至少需要包含以下欄位:員工ID、日期、上班時間、下班時

See all articles