main.go:
package main import( "fmt" "os" ) //生徒情報管理システム // 1. 生徒情報を追加 // 2. 生徒情報を編集// 3. すべての生徒情報を表示 func showMenu(){ fmt.Println( "Welcome学生情報管理システム ") fmt.Println(" 1.学生を追加 ") fmt.Println(" 2.学生情報を編集 ") fmt.Println(" 3.すべての学生情報を表示 ") fmt.Println(" 4 。システムを終了します ") } //ユーザーが入力した学生情報を取得します func getInput()* student { var( id int name string class string ) fmt.Println("学生情報を必要に応じて入力してください ") fmt.Print("入力してください学生ID: ") fmt.Scanf("%d \ n "、&id) fmt.Print("学生の名前を入力してください: ") fmt。Scanf( "%s \ n"、&name) fmt.Print( "学生のクラスを入力してください:") fmt.Scanf( "%s \ n"、&class) //終了 stu:= newStudent(id、name、class) return stu } func main(){ sm:= newStudentMgr() for { // 1.システムメニューを表示する showMenu() // 2.ユーザーが実行するオプションを選択するのを待つ var input int fmt.Scanf( "%d \ n"、&input)//入力変数の値を変更する場合は、ポインタを渡す必要があります 。fmt.Println( "User input is:"、input) // 3.ユーザー選択を実行しますアクション スイッチ入力{ ケース1: //生徒の stuを追加 := getInput()sm.addStudent(stu) ケース2: //生徒の stuを編集 := getInput()sm.modifyStudent(stu) ケース3: //すべての生徒を表示 sm.showStudent() ケース4: os.Exit(0) } } }
student.go:
パッケージメイン インポート "fmt" タイプstudent struct { id int name string class string } func newStudent(id int、name string、class string)* student { return&student { id:id、 name:name、 class:class、 } } / /学生管理 タイプのタイプstudentMgr struct { allStudents [] *学生 } func newStudentMgr()* studentMgr { return&studentMgr {allStudents:make([] * student、0,100)} } // 1.学生使用値タイプの受信者を追加しますs studentMgr、学生の追加に失敗し、レシーバーの値を変更する必要があるポインターレシーバー func(s * studentMgr)addStudent(newStu * student)を使用することを忘れない{ s.allStudents = append(s.allStudents、newStu) } // 2.学生の 関数を編集(s * studentMgr)modifyStudent(newStu * student){ for i、v:= range s.allStudents { if v.id == newStu.id {//変更する学生 s.allStudents [ i] = newStu return } } fmt.Printf( "入力された学生情報が間違っています。システムに学生番号がありません:%d student \ n"、newStu.id) } // 3.学生の func(s * studentMgrを表示します)showStudent(){ for _、v:= range s.allStudents { fmt.Printf( "Student ID:%d Name:%s Class:%s \ n"、v.id、v.name、v.class) } }
学生情報管理システムへようこそ 1. 学生を追加する 2. 学生情報を編集する 3. すべての学生情報を表示する 4. システムを終了する 1 ユーザーが入力する:1 必要に応じて学生情報を 入力する学生の学生番号を 入力する:001 学生を入力する名前:han 、学生のクラスを入力してください:01 学生情報管理システムへようこそ 1. 学生を追加 2. 学生情報を編集 3. すべての学生情報を表示 4. システムを終了 3 入力したユーザーは:3 学生ID:1名前: han class:01 学生情報管理システムへようこそ 1. 学生を追加 2. 学生情報を編集 3. すべての学生情報を表示 4.システムを終了