main.go :
principal Package Frais de pénalité pour l' importation ( "fmt" "os" ) // système de gestion de l' information des étudiants // 1. Ajouter étudiant informations // 2. renseignements sur l'élève modifier // 3. Toutes les listes des participants FUNC showMenu () { fmt.Println ( « Bienvenue Accéder au système de gestion des informations sur les étudiants ") fmt.Println (" 1. Ajouter un étudiant ") fmt.Println (" 2. Modifier les informations sur les étudiants ") fmt.Println (" 3. Afficher toutes les informations sur les étudiants ") fmt.Println (" 4 . Quittez le système ") } // Obtenez les informations sur les étudiants saisies par l'utilisateur func getInput () * student { var ( id int name string class string string ) fmt.Println (" Veuillez saisir les informations sur les étudiants comme requis ") fmt.Print (" Veuillez saisir ID étudiant: ") fmt.Scanf ("% d \ n ", & id) fmt.Print (" Veuillez saisir le nom de l'étudiant: ") fmt.Scanf ("% s \ n", & nom) fmt.Print ("Veuillez entrer la classe de l'élève:") fmt.Scanf ("% s \ n", & class) // Quitter stu: = newStudent (id, nom, classe) return stu } func main () { sm: = newStudentMgr () for { // 1. print system menu showMenu () // 2. attendez que l'utilisateur sélectionne l'option à exécuter var input int fmt.Scanf ("% d \ n", & input) // Si vous souhaitez modifier la valeur de la variable d'entrée, vous devez passer un pointeur. fmt.Println ("L'entrée utilisateur est:", entrée) // 3. Exécutez la sélection utilisateur Action switch input { case 1: // Add student stu: = getInput () sm.addStudent (stu) case 2: // Edit student stu: = getInput () sm.modifyStudent (stu) case 3: // Afficher tous les étudiants sm.showStudent () cas 4: os.Exit (0) } } }
student.go :
package main import "fmt" type 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, } } / / Type de gestion des étudiants type studentMgr struct { allStudents [] * student } func newStudentMgr () * studentMgr { return & studentMgr {allStudents: make ([] * student, 0,100)} } // 1. Ajoutez le destinataire du type de valeur d'utilisation étudiant s studentMgr, l'ajout d'un étudiant a échoué, vous devez modifier la valeur dans le récepteur n'oubliez pas d'utiliser le pointeur récepteur func (s * studentMgr) addStudent (newStu * student) { s.allStudents = append (s.allStudents, newStu) } // 2. Modifier les fonctions de l' étudiant (s * studentMgr) modifyStudent (newStu * student) { pour i, v: = range s.allStudents { if v.id == newStu.id {// étudiant à modifier s.allStudents [ i] = newStu return } } fmt.Printf ("Les informations sur les étudiants saisies sont incorrectes, il n'y a pas de numéro d'étudiant dans le système:% d student \ n", newStu.id) } // 3. Afficher les fonctions des étudiants (s * studentMgr ) showStudent () { for _, v: = range s.allStudents { fmt.Printf ("Student ID:% d Name:% s Class:% s \ n", v.id, v.name, v.class) } }
Bienvenue dans le système de gestion des informations sur les étudiants 1. Ajouter un étudiant 2. Modifier les informations sur les étudiants 3. Afficher toutes les informations sur les étudiants 4. Quitter le système 1 L' utilisateur entre: 1 Veuillez entrer les informations sur les étudiants comme requis Veuillez entrer le numéro d'étudiant de l'étudiant: 001 Veuillez entrer l'étudiant Nom: han , veuillez entrer la classe de l'élève: 01 Bienvenue dans le système de gestion des informations sur les élèves 1. Ajouter un élève 2. Modifier les informations sur l'élève 3. Afficher toutes les informations sur l'élève 4. Quitter le système 3 L' utilisateur entré est: 3 Identifiant de l'élève: 1 Nom: han class: 01 Bienvenue dans le système de gestion des informations sur les étudiants 1. Ajouter des étudiants 2. Modifier les informations sur les étudiants 3. Afficher toutes les informations sur les étudiants 4. Quitter le système