国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

這篇具有很好參考價(jià)值的文章主要介紹了【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

  • 博主簡(jiǎn)介:努力學(xué)習(xí)的大一在校計(jì)算機(jī)專業(yè)學(xué)生,熱愛學(xué)習(xí)和創(chuàng)作。目前在學(xué)習(xí)和分享:數(shù)據(jù)結(jié)構(gòu)、Go,Java等相關(guān)知識(shí)。
  • 博主主頁(yè): @是瑤瑤子啦
  • 所屬專欄: Go語(yǔ)言核心編程
  • 近期目標(biāo):寫好專欄的每一篇文章

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

學(xué)習(xí)了Go的基礎(chǔ)語(yǔ)法知識(shí),如何鞏固和提升呢?跟著瑤瑤子寫一個(gè)簡(jiǎn)易的學(xué)生信息管理系統(tǒng)來練練手吧!

一、學(xué)生信息管理系統(tǒng)程序介紹

  • 功能介紹
    • 添加學(xué)員信息
    • 根據(jù)學(xué)號(hào)(id)編輯學(xué)員信息
    • 展示所有學(xué)員信息
    • 退出系統(tǒng)

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

二、功能分析和實(shí)現(xiàn)

2.1:項(xiàng)目目錄結(jié)構(gòu):

  • stuInfoProject:項(xiàng)目文件夾
    • go.mod
    • main.go:主程序,核心邏輯代碼
    • student.go:學(xué)生類型結(jié)構(gòu)體的定義、構(gòu)造函數(shù)、方法等
    • studentSys:學(xué)生信息管理系統(tǒng)類型結(jié)構(gòu)體的定義、構(gòu)造函數(shù)、方法等

2.2:開始菜單:

main.go中定義顯示菜單函數(shù)


func showMenu() {
	info := `
	*********************歡迎來到學(xué)生管理系統(tǒng)***********
		1、添加學(xué)員信息
		2、編輯學(xué)員信息
		3、展示所有學(xué)員信息
		4、退出系統(tǒng)
	************************************************
`
	fmt.Print(info)
}

2.3:類型構(gòu)建

在這個(gè)項(xiàng)目中,我們需要兩個(gè)結(jié)構(gòu)體:

  • 學(xué)生結(jié)構(gòu)體:student,定義等封裝在student.go文件中
package main

// 定義一個(gè)學(xué)生類型結(jié)構(gòu)體
type student struct {
	id    int    //學(xué)號(hào)
	name  string //姓名
	class string
}

// 構(gòu)造函數(shù)
func newStudent(id int, name, class string) *student {
	return &student{
		id:    id,
		name:  name,
		class: class,
	}
}

  • 學(xué)生信息管理系統(tǒng)結(jié)構(gòu)體studentSys,定義和方法等封裝在studentSys.go
package main

import "fmt"

type studentSys struct {
	num      int        //學(xué)生的數(shù)量
	students []*student //存儲(chǔ)學(xué)生實(shí)體的切片
}

//構(gòu)造函數(shù)

func newStudentSys() *studentSys {
	return &studentSys{
		num:      0,
		students: make([]*student, 0, 100),
	}
}

// 1)這個(gè)管理系統(tǒng)所具備的方法:添加學(xué)生
func (sys *studentSys) addStudent(stu *student) {
	sys.students = append(sys.students, stu)
	sys.num += 1
	fmt.Println("************添加成功**********")
}

// 2)編輯學(xué)生
func (sys *studentSys) updateStudent(stu *student) {
	for i, v := range sys.students {
		if stu.id == v.id { //當(dāng)學(xué)號(hào)相同時(shí),找到要修改學(xué)生
			sys.students[i] = stu
			fmt.Println("***************修改成功***************")
			return
		}
	}
	fmt.Println("*********找不到該學(xué)號(hào)學(xué)生,修改失敗*********")

}

// 3)展示學(xué)生
func (sys *studentSys) showStudents() {
	for _, v := range sys.students {
		fmt.Println("學(xué)號(hào):", v.id, "姓名:", v.name, "班級(jí)", v.class)
	}
}

2.3:整體邏輯:

func main() {
	//構(gòu)造一個(gè)學(xué)生管理系統(tǒng)
	stuSys := newStudentSys() //指針類型的,只創(chuàng)建一次,因?yàn)橹挥幸粋€(gè)系統(tǒng)

	for {
		//打印菜單
		showMenu()
		//接收用戶輸入數(shù)據(jù)
		var input int
		fmt.Scanf("%d\n", &input)
		//switch-case進(jìn)行流程空指
		switch input {
		case 1: //添加學(xué)生
			
		case 2: //根據(jù)id修改學(xué)生信息
		
		case 3: //展示所有學(xué)生的信息
		
		case 4:
			os.Exit(0) //退出系統(tǒng)
		default:
			fmt.Println("err:你輸入選項(xiàng)格式有誤,請(qǐng)重新輸入!")
		}
	}
}

2.5:功能1:添加學(xué)員信息

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

  • 根據(jù)用戶輸入生成學(xué)員實(shí)例

// 獲取用戶輸入的信息,創(chuàng)造學(xué)員的函數(shù)
func newStuByUser() (*student, error) {
	var (
		id    int
		name  string
		class string
	)
	//讀取用戶輸入
	_, err := fmt.Scanln(&id, &name, &class)
	//出錯(cuò),給出錯(cuò)誤信息,并且將錯(cuò)誤返回
	if err != nil {
		fmt.Println("輸入出錯(cuò),err:", err)
	}
	return newStudent(id, name, class), err

}
  • case1:內(nèi)核心邏輯代碼
	case 1: //添加學(xué)生
	fmt.Print("請(qǐng)輸入學(xué)員的學(xué)號(hào)、名字、班級(jí):(以空格隔開)")
	s1, err := newStuByUser()

	//調(diào)用學(xué)生管理系統(tǒng)所具備的方法,像其中添加學(xué)生
	
	//沒有出錯(cuò)才添加
	if err == nil {
		stuSys.addStudent(s1)
	}

2.6:功能2:根據(jù)id修改學(xué)員信息

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏

  • 根據(jù)用戶輸入生成學(xué)員實(shí)例
    同上
  • case2:內(nèi)核心邏輯代碼
		case 2:
			fmt.Println("請(qǐng)輸入該學(xué)生的學(xué)號(hào),及其要修改的名稱和班級(jí):(用空格隔開)")
			s1, err := newStuByUser()
			if err == nil {
				stuSys.updateStudent(s1)
			}

2.7:展示所有學(xué)員信息、退出程序

	case 3:
			fmt.Println("以下是所有學(xué)生信息展示:")
			stuSys.showStudents()
		case 4:
			os.Exit(0) //退出系統(tǒng)
		default:
			fmt.Println("err:你輸入選項(xiàng)格式有誤,請(qǐng)重新輸入!")
		}

三、總結(jié)

綜上,就是一個(gè)比較簡(jiǎn)單的,適合鞏固基礎(chǔ)的學(xué)生信息管理系統(tǒng)的小項(xiàng)目。涉及到函數(shù)、結(jié)構(gòu)體、方法、構(gòu)造函數(shù)等基礎(chǔ)知識(shí),非常適合小白拿來練手和鞏固知識(shí)!


歡迎在評(píng)論區(qū)交流和留下你的想法和建議

如果對(duì)你有用,還請(qǐng):??評(píng)論+????點(diǎn)贊+?收藏+?關(guān)注

【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏文章來源地址http://www.zghlxwxcb.cn/news/detail-432675.html

  • Java島冒險(xiǎn)記【從小白到大佬之路】
  • LeetCode每日一題–進(jìn)擊大廠
  • 算法
  • C/C++
  • Go語(yǔ)言核心編程
  • 數(shù)據(jù)結(jié)構(gòu)

到了這里,關(guān)于【Golang項(xiàng)目實(shí)戰(zhàn)】用Go寫一個(gè)學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級(jí)詳解,附源碼——建議收藏的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python Web開發(fā) flask輕量級(jí)Web框架實(shí)戰(zhàn)項(xiàng)目--學(xué)生管理系統(tǒng)

    python Web開發(fā) flask輕量級(jí)Web框架實(shí)戰(zhàn)項(xiàng)目--學(xué)生管理系統(tǒng)

    ?上次發(fā)的一篇文章,有很多朋友私信我要后面的部分,那咱們就今天來一起學(xué)習(xí)一下吧,因?yàn)槲业臄?shù)據(jù)庫(kù)這門課選中的課題是學(xué)生管理系統(tǒng),所以今天就以這個(gè)課題為例子,從0到1去實(shí)現(xiàn)一個(gè)管理系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)部分我會(huì)專門出一個(gè)博客的,敬請(qǐng)期待吧~~~ 介如很多朋友問

    2024年02月16日
    瀏覽(91)
  • 【vue實(shí)戰(zhàn)項(xiàng)目】通用管理系統(tǒng):信息列表,信息的編輯和刪除

    【vue實(shí)戰(zhàn)項(xiàng)目】通用管理系統(tǒng):信息列表,信息的編輯和刪除

    本文為博主的vue實(shí)戰(zhàn)小項(xiàng)目系列中的第七篇,很適合后端或者才入門的小伙伴看,一個(gè)前端項(xiàng)目從0到1的保姆級(jí)教學(xué)。前面的內(nèi)容: 【vue實(shí)戰(zhàn)項(xiàng)目】通用管理系統(tǒng):登錄頁(yè)-CSDN博客 【vue實(shí)戰(zhàn)項(xiàng)目】通用管理系統(tǒng):封裝token操作和網(wǎng)絡(luò)請(qǐng)求-CSDN博客 【vue實(shí)戰(zhàn)項(xiàng)目】通用管理系統(tǒng)

    2024年02月03日
    瀏覽(19)
  • java 學(xué)生信息管理系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)jsp編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    java 學(xué)生信息管理系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)jsp編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    一、源碼特點(diǎn) ?? ?java 學(xué)生信息管理系統(tǒng)是一套完善的java web信息管理系統(tǒng),對(duì)理解JSP java編程開發(fā)語(yǔ)言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開發(fā)。開發(fā)環(huán)境為 TOMCAT7.0,Myeclipse8.5開發(fā),數(shù)據(jù)庫(kù)為Mysql5.0,使用java語(yǔ)言開發(fā)。 java 學(xué)生信息管理系統(tǒng) 二、

    2024年02月09日
    瀏覽(31)
  • qt實(shí)現(xiàn)信息管理系統(tǒng)(學(xué)生信息管理系統(tǒng))功能更完善

    qt實(shí)現(xiàn)信息管理系統(tǒng)(學(xué)生信息管理系統(tǒng))功能更完善

    信息系統(tǒng)代碼地址:https://gitee.com/dxl96/StdMsgSystem 本學(xué)生信息管理系統(tǒng)同升級(jí)改造的幅度較大,涉及到的東西對(duì)于初學(xué)者來說,可能稍顯復(fù)雜,可以先移步到?https://blog.csdn.net/IT_CREATE/article/details/82027462?查看簡(jiǎn)易的系統(tǒng)。 本系統(tǒng)引入日志管理,數(shù)據(jù)庫(kù)選擇支持sqllite、mysql,自

    2024年02月13日
    瀏覽(20)
  • 學(xué)生基本信息管理系統(tǒng)

    學(xué)生基本信息管理系統(tǒng)

    目錄 一、選題與前期調(diào)查 1.選題 2.前期調(diào)查 二、人員分工 三、項(xiàng)目描述 1.項(xiàng)目簡(jiǎn)介 2.項(xiàng)目技術(shù) 3.功能需求分析 4.系統(tǒng)細(xì)節(jié) 四、系統(tǒng)功能運(yùn)行結(jié)果截圖展示 五、關(guān)鍵代碼 六、使用git管理代碼 七、遇到的困難 1.選題 學(xué)生基本信息管理系統(tǒng)(2人)等級(jí):C- 功能要求: 1、添加學(xué)生

    2024年01月16日
    瀏覽(69)
  • 學(xué)生宿舍信息管理系統(tǒng)

    任務(wù)6 學(xué)生宿舍信息管理系統(tǒng) 已知宿舍的信息包括:宿舍樓號(hào),宿舍號(hào),床位號(hào),對(duì)應(yīng)床位號(hào)的學(xué)生學(xué)號(hào),樓長(zhǎng)姓名等。設(shè)計(jì)程序能實(shí)現(xiàn)以下功能: (1)宿舍信息錄入:可隨時(shí)增加宿舍信息到數(shù)據(jù)文件中 (2)宿舍信息瀏覽:宿舍的信息輸出到屏幕 (3)查詢:按學(xué)號(hào)查詢學(xué)

    2024年02月05日
    瀏覽(75)
  • 學(xué)生信息管理系統(tǒng)——JAVA

    ? ? ? 學(xué)生信息管理系統(tǒng)是一個(gè)實(shí)現(xiàn)信息管理的多功能平臺(tái),本文主要介紹一個(gè)簡(jiǎn)易功能的java 程序。 1、添加學(xué)生信息。 2、刪除學(xué)生信息。 3、查看學(xué)生信息。 4、修改學(xué)生信息。 1、創(chuàng)建一個(gè)標(biāo)準(zhǔn)的學(xué)生類 2、分布實(shí)現(xiàn)功能 ? ? ? ? (1)添加學(xué)生信息 ????????(2)刪除

    2024年02月08日
    瀏覽(32)
  • mysql 學(xué)生信息管理系統(tǒng)

    mysql 學(xué)生信息管理系統(tǒng)

    一、分析 ①業(yè)務(wù)分析: 學(xué)生信息管理系統(tǒng)是面向?qū)W生和學(xué)校教師的一個(gè)多功能數(shù)據(jù)管理平臺(tái) ②系統(tǒng)分析: 本系統(tǒng)所涉及到的用戶有學(xué)校學(xué)生和教師,對(duì)于不同的用戶系統(tǒng)所提供的功能也有所不同,其中對(duì)于學(xué)生來說,學(xué)生可以提供該系統(tǒng)進(jìn)行自身數(shù)據(jù)的查詢,教師可以通過

    2024年02月10日
    瀏覽(24)
  • 【JAVA】學(xué)生信息管理系統(tǒng)

    【JAVA】學(xué)生信息管理系統(tǒng)

    目錄 前言 一、環(huán)境搭建 二、功能實(shí)現(xiàn) 1.學(xué)生信息類的創(chuàng)建 2.學(xué)生信息的添加功能 3.學(xué)生信息的刪除功能 4.學(xué)生信息的修改功能? 5.學(xué)生信息的查看功能 ?三、主類的調(diào)用 1.界面的搭建 2.學(xué)生端和教師端 3.系統(tǒng)和功能的選擇 總結(jié) ? ? ? ? JAVA實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)(包含教

    2024年02月03日
    瀏覽(26)
  • 學(xué)生信息管理系統(tǒng)(數(shù)據(jù)庫(kù))

    學(xué)生信息管理系統(tǒng)(數(shù)據(jù)庫(kù))

    要求實(shí)現(xiàn)功能: (1)學(xué)生、課程、教師等信息的錄入和維護(hù),一門課只由一位教師上,一位教師可上多門課 (2)學(xué)生進(jìn)行選課,一學(xué)期約20學(xué)分 (3)教師在每門課結(jié)束后給出學(xué)生成績(jī),不及格則補(bǔ)考后記錄補(bǔ)考成績(jī) (4)能明細(xì)查詢某學(xué)生的選課情況及某課程的選修學(xué)生情

    2024年02月03日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包