P44 概要
2021/8/12 老男孩帶你21周搞定Go語言 (三) P45 回顧
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 函數當成參數傳進去,這個函數類型是接收string類型參數的函數
2021/8/12 老男孩帶你21周搞定Go語言 (三) 函數内部無法申明帶名字的函數
2021/8/12 老男孩帶你21周搞定Go語言 (三) 這就是它的類型
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 閉包有特殊場景,A開發了函數,這個函數需要傳函數變量,類似下面的
2021/8/12 老男孩帶你21周搞定Go語言 (三) 比如把函數傳到low裡,但是現在是類型不比對的,因為yuanshuai函數要接收一個string參數
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 包一下傳到low裡
2021/8/12 老男孩帶你21周搞定Go語言 (三) bi的傳回值是個函數,fc這個函數,沒有參數沒有傳回值給了low,這樣就實作,本來元帥不能傳給low,利用bi包一下傳給了low
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) defer是延遲調用,多用于處理資源的釋放
2021/8/12 老男孩帶你21周搞定Go語言 (三) panic是抛出讓程式崩潰的錯誤的,但是如果占用了一些資源沒釋放,就需要recover嘗試恢複,做一些資源的釋放
2021/8/12 老男孩帶你21周搞定Go語言 (三) defer延遲調用,f1即将return的時候才執行,到了panic要退出了,執行defer,調用recover,把錯誤收拾收拾,列印“松手去愛”,列印err,f1就結束了,實作友好退出,然後執行f2
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P46 分金币
2021/8/12 老男孩帶你21周搞定Go語言 (三) main函數一般放一些最簡單的代碼
2021/8/12 老男孩帶你21周搞定Go語言 (三) map需要make做初始化,slice也需要.
需要先周遊人民,把每個字母取出來,’'單引号代表字元,根據條件加金币
2021/8/12 老男孩帶你21周搞定Go語言 (三) 金币要減少
2021/8/12 老男孩帶你21周搞定Go語言 (三) 需要return一個金币數
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 這就是一個map
2021/8/12 老男孩帶你21周搞定Go語言 (三) P47 遞歸
說白了就是函數調用自己,比如打開一個檔案夾,進入,再打開裡面的檔案夾,進入,再打開
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 遞歸一定要确定退出條件,不然是死循環,遞歸适合處理問題相同,規模越來越小的場景
2021/8/12 老男孩帶你21周搞定Go語言 (三) 其實就是走到最後,剩1個台階有幾種走法,剩2個台階有幾種走法,兩個加起來就是總的種
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P48 自定義類型和類型别名
go語言是強類型,但是可以基于基本類型建立新的類型
2021/8/12 老男孩帶你21周搞定Go語言 (三) 自定義類型有時候會用到,
type myint int是自定義類型,帶=是類型别名
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 中的字元編碼是20013,rune是int32的類型别名
2021/8/12 老男孩帶你21周搞定Go語言 (三) 類型别名,是為了讓寫代碼的時候,更加清晰知道代碼是做什麼用的
2021/8/12 老男孩帶你21周搞定Go語言 (三) rune是int32的别名
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 差別是,自定義類型在編譯完後還是自定義類型,但如果是類型别名就還是原來的類型。
2021/8/12 老男孩帶你21周搞定Go語言 (三) P49 結構體初識
比如一個人有很多元度的資訊,身高,體重,就需要自定義這樣一個類型
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體會把每個變量對應的值依次列印出來
2021/8/12 老男孩帶你21周搞定Go語言 (三) 類型的分類是i結構體,類型是person
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體是為了表示多元度的個體
2021/8/12 老男孩帶你21周搞定Go語言 (三) 某個變量不指派的時候就是0值,string的0值就是空字元串,切片就是空的slice
2021/8/12 老男孩帶你21周搞定Go語言 (三) P50 匿名結構體
在一個包裡,定義的類型名是不能重複的。
字段名必須唯一。
字段類型:結構體字段的類型
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名結構體适合臨時使用
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體是值類型的,就是ctrl c 和ctrl v
P51 結構體指針和結構體初始化
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) go裡的傳參全是ctrl c和ctrl v的,改的也是副本,要想改原來的,隻能傳記憶體 位址,指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) x 設定為person的指針,&p 記憶體位址
2021/8/12 老男孩帶你21周搞定Go語言 (三) 根據記憶體位址找到原變量,修改的就是原來的變量,函數内部修改變量,就要使用指針了
2021/8/12 老男孩帶你21周搞定Go語言 (三) go語言有文法糖,go裡是不允許修改指針,x會去自己判斷,然後去修改指針對應的變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) new(int string bool )和make都是用來申請記憶體的,new傳回的是對應類型的指針。
make是用來給特定類型開辟記憶體的,slice,map,channel,傳回的就是對應類型。
2021/8/12 老男孩帶你21周搞定Go語言 (三) var p2 =new(person) 傳回的p2就是對應類型的指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) 指針類型的值表示的是一個記憶體 位址
2021/8/12 老男孩帶你21周搞定Go語言 (三) %p 拿的是變量的指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) 一個是int類型,一個是int類型指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) &a 把a的記憶體位址取出來,%p可以列印出來16進制的格式,b也是等于a的記憶體位址,但是這裡列印的b其實是b的值,b的記憶體位址并不一樣
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) p2 是一個person類型的指針,&p2這樣才是p2變量的位址
2021/8/12 老男孩帶你21周搞定Go語言 (三) p2儲存到值就是一個記憶體 位址,本身作為變量,也有一個記憶體 位址
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) *p2.name其實是文法糖,其實是(p2)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 聲明變量類型,并同時初始化,key 和value做初始化
2021/8/12 老男孩帶你21周搞定Go語言 (三) 清單初始化,考慮 到值的順序
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體初始化有兩種方式,值和清單的方式,一種是清單的方式,&取指針
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體裡的字段其實是連在一起的,一個結構體占用的記憶體是一塊連續的記憶體
2021/8/12 老男孩帶你21周搞定Go語言 (三) 取一下記憶體位址
2021/8/12 老男孩帶你21周搞定Go語言 (三) c字段類型和上面不一樣,為了查的更快,有一個記憶體對齊,是以不是421而是428
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 類型一樣,就是連續下去,沒有用到記憶體對齊
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P52 結構體和初始化
可以模拟其他語言,構造函數傳回一個結構體變量的函數,go語言可以面向對象,但是理念是面向接口程式設計
2021/8/12 老男孩帶你21周搞定Go語言 (三) 直接定義的結構體都是var聲明的
2021/8/12 老男孩帶你21周搞定Go語言 (三) 這樣的好處就是想要拿到一個結構體,直接調用這個函數就可以了。
2021/8/12 老男孩帶你21周搞定Go語言 (三) 現在就是使用一個構造函數去建立一個person變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) **當結構體比較小,直接拷貝,消耗不大,可以用person,如果結構體比較大,盡量傳回使用指針類型,指針始終是一個int64這樣一個值。
也就是結構體比較大的時候盡量 使用結構體指針,減少程式的記憶體開銷。
go語言的構造函數,約定是new開頭
**
2021/8/12 老男孩帶你21周搞定Go語言 (三) 新造一個dog函數
2021/8/12 老男孩帶你21周搞定Go語言 (三) 構造函數用new開頭,變量是什麼類型,就是傳回什麼類型,dog,就傳回dog類型,或者dog指針。
注意結構體大小,什麼時候用指針,什麼時候用值
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P53 方法和接收者
方法其實一種函數,是特殊的函數,作用于特定的變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) 方法是作用于特定類型的函數,dog是類型,d代表形參,表示dog類型
2021/8/12 老男孩帶你21周搞定Go語言 (三) d是個接收者,一般用變量的首字母,多用類型名首字母小寫表示,類似pthon的self,前端的this
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 構造函數是一個,方法是一個
2021/8/12 老男孩帶你21周搞定Go語言 (三) P54 值接收者和指針接收者的差別
辨別符:變量名,函數名,類型名,方法名,這些首字母大寫,表示對外部可見,也就是公有的,就比如fmt包裡,Print一定是大寫,不然在外部無法通路調用
2021/8/12 老男孩帶你21周搞定Go語言 (三) 記得要寫注釋
2021/8/12 老男孩帶你21周搞定Go語言 (三) 方法多了,接收者,參數,傳回值
2021/8/12 老男孩帶你21周搞定Go語言 (三) 要申明方法就必須指定接收者,接收者就是一個具體的類型
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 接收者分為指針接收者和值接收者
2021/8/12 老男孩帶你21周搞定Go語言 (三) 接收者為值類型,傳過來的時候把p1拷貝了一份給p,是以修改的不是一個age,就還是列印18
2021/8/12 老男孩帶你21周搞定Go語言 (三) 要想修改原來的age,就需要用到接收者為指針類型
2021/8/12 老男孩帶你21周搞定Go語言 (三) 兩者的接收者不一樣
2021/8/12 老男孩帶你21周搞定Go語言 (三) 什麼時候需要用到指針類型的接收者
1.需要修改接收者的值的時候。
2.接收者是拷貝代價比較大的對象,結構體消耗比較大
3.保持一緻性,别的方法用了指針接收者,那其他的方法也應該使用
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 比如給int類型加一個hello方法,自己創個類型為myint,間接給int類型造了一個hello方法。
不能給其他包裡面的 類型添加方法,隻能在自己的包裡的類型添加方法
2021/8/12 老男孩帶你21周搞定Go語言 (三) P55 那些你遇到的問題
go預設聲明是int,現在是int32
2021/8/12 老男孩帶你21周搞定Go語言 (三) 三種聲明int32類型的變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) 聲明一個myint變量m,值是 100
2021/8/12 老男孩帶你21周搞定Go語言 (三) 問題2:結構體初始化
2021/8/12 老男孩帶你21周搞定Go語言 (三) 聲明這個變量的時候同時完成初始化
2021/8/12 老男孩帶你21周搞定Go語言 (三) 一個是鍵值對,一個是值清單
2021/8/12 老男孩帶你21周搞定Go語言 (三) 問題3:為什麼要有構造函數
别人調用自己,自己給它一個person類型的變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) P56 函數版學生管理系統
**1.登入系統列印菜單
2.等待使用者選擇要做什麼
3.執行列印對應的函數
**
2021/8/12 老男孩帶你21周搞定Go語言 (三) 掃描使用者的輸入
2021/8/12 老男孩帶你21周搞定Go語言 (三) 擷取輸入,選擇執行什麼
2021/8/12 老男孩帶你21周搞定Go語言 (三) 定義功能函數
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 實作上面的三個函數,
student的類型變量位址,student需要做初始化
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 把所有學生列印
2021/8/12 老男孩帶你21周搞定Go語言 (三) add學生,建立一個學生,追加到allstudent這個map裡
2021/8/12 老男孩帶你21周搞定Go語言 (三) 造學生需要一個構造函數,傳回指針
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 删除學生,輸入學生号,删除對應的鍵值對
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P57 結構體的匿名字段結構體嵌套等
匿名字段就是沒有名字的字段
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名字段不是很常用
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 把另外一個結構體嵌套在自己内部
2021/8/12 老男孩帶你21周搞定Go語言 (三) 造一個person類型的變量
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 拿到姓名和居住的城市
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名嵌套,就是嵌套的時候沒有名字
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名其實就是這樣寫的
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名的好處就是可以直接p1.city,省略了中間的address,通路字段友善一點
2021/8/12 老男孩帶你21周搞定Go語言 (三) 但是兩個嵌套進去了,有同名的字段,p1.city查找city這個字段是現在自己的結構體裡找,找不到就去匿名嵌套的結構體裡去找,現在這樣的情況,就隻能寫全調用的字段了
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P58 結構體模拟實作繼承
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體模拟實作其他語言裡的繼承
2021/8/12 老男孩帶你21周搞定Go語言 (三) d.name查找的時候會去找結構體的再去找匿名的
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) dog結構體把animal結構體包起來了,animal有的方法,dog也有,變相實作了繼承
2021/8/12 老男孩帶你21周搞定Go語言 (三) P59 結構體和JSON
json是最先在js裡表現對象的一種模式
2021/8/12 老男孩帶你21周搞定Go語言 (三) 把go裡結構體轉程json,json轉成go裡的結構體
2021/8/12 老男孩帶你21周搞定Go語言 (三) 是一個字元串,隻不過就一個{}
2021/8/12 老男孩帶你21周搞定Go語言 (三) 因為小寫開頭, 别的作用域就拿不到這個變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) 為什麼要大寫,其實是在json報裡的marshal方法裡,把你p1的變量拿出來,是以要大寫,小寫拿不到變量
2021/8/12 老男孩帶你21周搞定Go語言 (三) ** 如果想要指定json解析的時候,變成什麼字段,可以在後面加json:xxx `反引号 **
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 這是一個序列化的過程,marshal,反序列化unmarshal,如果要在函數裡修改,就必須傳指針&,因為go裡面傳變量都是值拷貝
2021/8/12 老男孩帶你21周搞定Go語言 (三) P60 結構體内容回顧01
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 上面聲明一個結構體,下面給初始值
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名結構體
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體聲明了就需要使用,結構體需要使用{},兩種不同方式的執行個體化
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 構造函數實際上也需要new person這樣的操作
2021/8/12 老男孩帶你21周搞定Go語言 (三) 轉變一下就成了這樣,構造函數就是構造結構體變量的函數
2021/8/12 老男孩帶你21周搞定Go語言 (三) 三種方式,哪種友善用哪種
2021/8/12 老男孩帶你21周搞定Go語言 (三) int是傳回值的類型
2021/8/12 老男孩帶你21周搞定Go語言 (三) 其實就是一個普通的函數
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) P61 結構體内容回顧02
方法其實就是有接收者的函數,接收者指的是哪個類型的變量可以調用這個函數,接收使用對應首字母小寫。指定了接收者後,隻有接收者這個類型的變量才能調用這個方法。
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 如果想要每個person的夢想不一樣,可以加參數
2021/8/12 老男孩帶你21周搞定Go語言 (三) 這樣方法就可以像函數一樣傳參數了
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 方法其實就是函數,隻不過在函數前加一個接收者這樣的概念
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體是值類型(差別是引用類型,引用類型存的是記憶體位址,值類型是拷貝,ctrl +c /v),接收者也可以是指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) 對guonian進行調用,但是其實上面改的是一個副本
2021/8/12 老男孩帶你21周搞定Go語言 (三) person類型的指針
2021/8/12 老男孩帶你21周搞定Go語言 (三) 相當于&p1.guonian
2021/8/12 老男孩帶你21周搞定Go語言 (三) 當需要在方法裡去修改結構體變量值的時候,需要用指針接收者,
2.還有當結構體比較大的時候
3.保持一緻性,一個方法使用了指針接收者,那麼其他方法也需要
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 結構體裡可以嵌套另一個結構體
2021/8/12 老男孩帶你21周搞定Go語言 (三) 匿名嵌套
2021/8/12 老男孩帶你21周搞定Go語言 (三) json序列化和反序列化的注意點:
1.結構體内部要大寫,不大寫别人是通路不到。
2.反序列化:由字元串–》go中的結構體變量,反序列化傳的需要是指針。
byte類型的切片,就是個字元。ascii碼能表示的就是byte,error是錯誤類型
2021/8/12 老男孩帶你21周搞定Go語言 (三) go語言的一般把錯誤當作第二個傳回值
2021/8/12 老男孩帶你21周搞定Go語言 (三) 傳回空時因為x和y都是小寫的
2021/8/12 老男孩帶你21周搞定Go語言 (三) 改成大寫
2021/8/12 老男孩帶你21周搞定Go語言 (三) 假如就想要顯示json的時候是小寫
2021/8/12 老男孩帶你21周搞定Go語言 (三) 上面的是序列化,下面是反序列化,就是把字元串轉成go的結構體變量。
這裡其實是錯誤的,這裡修改的其實是副本,列印po2就還是原來的。
2021/8/12 老男孩帶你21周搞定Go語言 (三) 傳一個指針進去
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 差別:自定義類型編譯完之後還是存在的,類型别名隻是在代碼編寫過程中存在的,編譯後就不存在
2021/8/12 老男孩帶你21周搞定Go語言 (三) P62 結構體版學生管理系統
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 修改main入口,但是run的時候要把兩個檔案都寫進去
2021/8/12 老男孩帶你21周搞定Go語言 (三) 需要等待使用者輸入
2021/8/12 老男孩帶你21周搞定Go語言 (三) 初始化一個所有學生結構體
2021/8/12 老男孩帶你21周搞定Go語言 (三) 基本架子
2021/8/12 老男孩帶你21周搞定Go語言 (三) 拿到map可以周遊
2021/8/12 老男孩帶你21周搞定Go語言 (三) 增加學生,并把新的學生 放到map裡
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 就可以看到有一個學生添加進去了
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 修改學生
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 有沒有這個使用者就傳回key或false
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 修改學生函數
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三) 要對對象進行一個更新
2021/8/12 老男孩帶你21周搞定Go語言 (三) 删除學生
2021/8/12 老男孩帶你21周搞定Go語言 (三) 使用了結構體和結構體的方法
2021/8/12 老男孩帶你21周搞定Go語言 (三)
2021/8/12 老男孩帶你21周搞定Go語言 (三)