先稍微自我介紹一下,我是個樂於研究架構設計,且對於軟體工程和維運有興趣的後端工程師。 之前因為工作性質,多少有涉略幾個不同的程式語言和開發工具,而在目前的公司,...
昨天介紹完內嵌函式,今天繼續將結構的最後小部分完整介紹完! 幫自訂型別加上自己的函式或方法(method) 在昨天一開始我們便有說到可以幫自訂型別加上自訂的函式...
昨天我們介紹了 Go 語言的簡介,今天就要來學習環境安裝啦! Go 語言 環境安裝 根據Go 官網下載頁面有給予不同系統下載的安裝方式(如下圖),首先我們需要先...
前情提要 昨日從一支 GO 語言程式的源頭往下看,在初始化參數(runtime.args)和初始化來自作業系統的資訊(runtime.osinit)方面有個簡...
套件 前面介紹很多 go 語言程式設計的相關內容,但是如果把所有程式碼塞在一個 .go 的檔案之中這一篇文章要跟大家介紹如何將 go 語言的代碼分散到各個程式碼...
多執行序問題的解決 在上一篇介紹了多執行序的好處以及撰寫方式,但是也提到了多執行序的問題,所以這篇針對多執行序遇到的race condition在 go 語言如...
昨天介紹了 Go 語言環境安裝及印出第一個 Hello World ,今天繼續來介紹用 var 宣告變數! 變數是什麼? 變數就像是一個可以用來暫時存放資料的標...
昨天介紹了在 Go 語言中的數字型別,今天來一口氣學會剩下三個型別吧! 布林值 (Boolean) : true 或 false 在 Go 語言中我們把布林值...
情境:剛好有專案需要用到外部的API,需要將字串進行加密,但密文竟不符合預期。思路:想說加密應該都是標準的做法才對,應該是有不同的加密模式的區別,所以特別查了一...
前情提要 昨日也追蹤了 schedinit 函式的幾個初始化部份。 schedinit ... 今天看完就可以過半了吧 ... alginit()...
go 迴圈的語法 在介紹完 go 的邏輯判斷的之後接下來要跟大家分享一下 go 迴圈的語法,這部分內容與大部分語言相同,本來筆者想這樣告訴大家,但是其實 go...
go 的指標 在上一篇文章中提到自定義型別的方法,讀者們可以試試看把該自定義型別生成的物件賦予到另一個變數上在更改其屬性的值,最後觀察其值的變化狀況。接下來就是...
重新斟酌內部結構設計 重新再思考一下,外面的struct,裡面是否真的有需要放個struct。 筆者認為,屬於struct內部的變數,放什麼型態都可好處理,除了...
回顧 筆者直到到半年前為止,開發的內容幾乎是圍繞在平台的部分,後來才踏入遊戲這塊。 平台與遊戲著重的業務處理,明顯有不同的重心,因為平台的業務處理重點在於資料,...
今天我們繼續來看Melody,hub,Session三個業務主體,它們struct當中值得關心的部分。 用前三篇的分析,可以充分了解到,Melody,hub,S...
前情提要 昨日加前日,將 signal 相關的機制瀏覽完,然後準備進入 schedule。 加入排程 終於來到這個無法折返點了。schedule 函式也還是一...
Hashnode好讀版本 類型安全 過往使用interface{} a和b的類型在執行時才會被檢查,這就增加了出錯的可能性。 func Add(a, b in...
前面已經有稍微提了HttpServer的第三方套件以及判定型別的reflect今天再來介紹其他GO語言中常用的幾個官方套件 fmt fmt是一個官方將資料顯示於...
感言 有些東西在C#、Java、Php上的寫法或概念,到了golang的實作已經不一樣了,本身golang在出生的設計上就是別於以往的想法。 golang有了g...
go 方法的宣告及使用 認識完 go 變數宣告以及迴圈還有邏輯判斷式之後開始要進入大量的變數宣告、迴圈以及邏輯的世界了,當然這部分需要把共用的東西抽成方法來開發...
前情提要 原本打算昨日結束整個 schedinit 部份,但光是寫範例程式和追蹤其中的 P-M-G 關係就花了許多時間... schedinit ......
前情提要 昨日一層一層瀏覽了不同層次的抽象層,最後把寫入檔案的動作看完,整個 Hello World 程式也暫告結束。 稍事休息 過去幾天我們一步一步的看過...
不知道大家會不會有跟我一樣的問題,為什麼還要特別介紹型別?鐵人賽都第八天了,我多少也知道有 string (字串)、bool (布林值)、int (數字)等,還...
前情提要 昨日看到 gostartcallfn 函式眼睛一亮,但終究只是設定一些 context,runtime 還未結束,仍需繼續 trace。 接下去呢?...
Excelize 是 Go 語言編寫的用於操作 Office Excel 檔案基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它...
前情提要 昨日開始了 newproc 函式,概念上應該是要準備一個新的 goroutine 準備執行?通常是用在 go statement 的生成,但是這裡是...
前情提要 昨日我們以相當貼近記憶體的方式看完了 newproc 函式,主要是在兜出後續呼叫所需要的參數,為接下來的 systemstack 呼叫作準備。 進入...
昨天介紹程式錯誤的類型,今天再繼續介紹錯誤處理 error 值 Go 語言的 error 值 在 Go 語言中,一個 error 都算是一個 值 ,那既然他是一...
前情提要 走到 newproc1 函式的結尾。新的 goroutine 已經如子彈一般上膛了。 一路返回 newproc1 回傳之後會一路回到最初的 rt0_...
昨天我們對於結構有基礎的了解後,今天繼續來學習結構還能怎麼變! 內嵌結構 雖然說 Go 語言不是物件導向程式設計語言,所以沒有跟 class 一樣可以繼承,但是...