👻創作者:丶重明
👻創作時間:2025年3月7日
👻擅長領域:運維
目錄
- 1.😶?🌫?題目:簡單的用戶信息管理系統
- 2.😶?🌫?代碼開發
- 3.😶?🌫?輸出代碼執行結果
- 4.😶?🌫?代碼解析
- 5.😶?🌫?內容擴展
1.😶?🌫?題目:簡單的用戶信息管理系統
使用Go語言構建一個簡單的用戶信息管理信息。
創建一個程序,能夠接收用戶輸入的兩個參數:姓名和年齡。(如果需要添加更多元素,請自行添加即可)并將這些信息存儲在一個結構體中。
最終程序可以打印出這些信息。
2.😶?🌫?代碼開發
使用Go語言進行代碼開發,以下是本實例完整代碼:
package mainimport "fmt"type User struct {Name stringAge int
}func main() {var users []Uservar name stringvar age intfmt.Println("請用戶輸入詳細信息(姓名 年齡),輸入“exit”結束:")for {_, err := fmt.Scan(&name)if err != nil || name == "exit" {break}fmt.Scan(&age)users = append(users, User{Name: name, Age: age})}fmt.Println("用戶:")for _, user := range users {fmt.Printf("姓名: %s, 年齡: %d\n", user.Name, user.Age)}
}
3.😶?🌫?輸出代碼執行結果
展示了程序運行時的輸入和輸出情況,輸入用戶的姓名和年齡,輸入 “exit” 結束輸入,程序輸出所有已輸入的用戶信息。
> go run .\6.gotest.go
請用戶輸入詳細信息(姓名 年齡),輸入“exit”結束:
Liming 18
李二 26
exit
用戶:
姓名: Liming, 年齡: 18
姓名: 李二, 年齡: 26
4.😶?🌫?代碼解析
type User struct {Name stringAge int
}
Go語言中使用type
關鍵字定義一個新的類型,而struct
表示這是一個結構體的類型,名稱為User
。
它接受兩個字段,一個為Name
,類型為string
字符串;另一個為Age
,類型為int
整數。
結構體(struct
)可以把與某個實體相關的各種屬性組合在一起,讓數據的表示更加清晰和有條理。
_, err := fmt.Scan(&name)
fmt.Scan
是標準庫fmt
包中的一個函數,功能是從標準輸入(一般是鍵盤)讀取數據,并將讀取的數據按照指定的格式賦值給后續的參數。
&name
中的&
是獲取地址運算符,整體表示獲取變量name
的內存地址。
所以完整代碼含義是從標準輸入讀取用戶輸入的內容,并存儲到變量name
中,同時處理可能出現的錯誤。
if err != nil || name == "exit" {break}
||
是邏輯或運算符,用于連接兩個布爾表達式,只要其中一個表達式的結果為true
,整個邏輯表達式的結果就為true
;如果兩個表達式結果都是false
,那么整個表達式的結果為false
。
if err != nil
是判斷err
變量的內容不為空,如果不為空表示出現了錯誤。
name == "exit"
是說name
變量的值等于字符串exit
。
如果這兩個表達式有一個成立即結果為true
。
break
是一個控制流語句,當程序執行到break
時,會立即終止當前循環行為,執行循環之后的代碼。
users = append(users, User{Name: name, Age: age})
User{Name: name, Age: age}
通過指定字段名和對應的值,創建一個包含姓名和年齡信息的User
結構體實例。
append
是Go的內置函數,用于向切片中添加元素。格式如下:
func append(slice []Type, elems ...Type) []Type
// slice 是要添加元素的切片,類型為[]Type
所以users
是一個存儲 User 結構體實例的切片,其類型為 []User
。
5.😶?🌫?內容擴展
本文只是簡單可以實現輸入輸出用戶信息,還有很多可以擴展的地方,請讀者自行嘗試,以下是一些擴展方向:
- 數據持久化:可以將用戶信息存儲到文件或數據庫中,方便后續讀取。
- 輸入驗證:確保輸入的年齡是一個合理范圍的整數;避免姓名為空。
- 用戶操作:提供菜單功能,允許用戶可進行添加、刪除、修改、查看等功能。
- 搜索功能:允許用戶通過姓名,可以查看到用戶的所有信息。
- 用戶界面:開發web界面,使查看更加直觀。
同系列:
上一篇:【Go每日一練】計算 1 到 100 的累加和