iT邦幫忙

go相關文章
共有 364 則文章
鐵人賽 自我挑戰組 DAY 1

技術 Day1 . 前言

先稍微自我介紹一下,我是個樂於研究架構設計,且對於軟體工程和維運有興趣的後端工程師。 之前因為工作性質,多少有涉略幾個不同的程式語言和開發工具,而在目前的公司,...

鐵人賽 自我挑戰組 DAY 21

技術 DAY 21 Go 語言 幫自訂型別加上自己的函式或方法(method)

昨天介紹完內嵌函式,今天繼續將結構的最後小部分完整介紹完! 幫自訂型別加上自己的函式或方法(method) 在昨天一開始我們便有說到可以幫自訂型別加上自訂的函式...

鐵人賽 自我挑戰組 DAY 2

技術 DAY 2 Go 語言 環境安裝 印出 Hello World

昨天我們介紹了 Go 語言的簡介,今天就要來學習環境安裝啦! Go 語言 環境安裝 根據Go 官網下載頁面有給予不同系統下載的安裝方式(如下圖),首先我們需要先...

鐵人賽 Software Development DAY 8

技術 第八天:進入 schedinit

前情提要 昨日從一支 GO 語言程式的源頭往下看,在初始化參數(runtime.args)和初始化來自作業系統的資訊(runtime.osinit)方面有個簡...

鐵人賽 Modern Web DAY 16

技術 套件

套件 前面介紹很多 go 語言程式設計的相關內容,但是如果把所有程式碼塞在一個 .go 的檔案之中這一篇文章要跟大家介紹如何將 go 語言的代碼分散到各個程式碼...

鐵人賽 Modern Web DAY 15

技術 執行序的鎖

多執行序問題的解決 在上一篇介紹了多執行序的好處以及撰寫方式,但是也提到了多執行序的問題,所以這篇針對多執行序遇到的race condition在 go 語言如...

鐵人賽 自我挑戰組 DAY 3

技術 DAY 3 Go 語言 用 var 宣告變數 (variables)

昨天介紹了 Go 語言環境安裝及印出第一個 Hello World ,今天繼續來介紹用 var 宣告變數! 變數是什麼? 變數就像是一個可以用來暫時存放資料的標...

鐵人賽 自我挑戰組 DAY 12

技術 DAY 12 Go 語言 的核心型別 - 布林值 (Boolean) 、字串 (String) 及 nil 值

昨天介紹了在 Go 語言中的數字型別,今天來一口氣學會剩下三個型別吧! 布林值 (Boolean) : true 或 false 在 Go 語言中我們把布林值...

技術 [踩坑紀錄] Golang - 加密常用的兩種模式ECB、CBC

情境:剛好有專案需要用到外部的API,需要將字串進行加密,但密文竟不符合預期。思路:想說加密應該都是標準的做法才對,應該是有不同的加密模式的區別,所以特別查了一...

鐵人賽 Software Development DAY 11

技術 第十一天:繼續奮戰 schedinit

前情提要 昨日也追蹤了 schedinit 函式的幾個初始化部份。 schedinit ... 今天看完就可以過半了吧 ... alginit()...

鐵人賽 Modern Web DAY 7

技術 迴圈的語法

go 迴圈的語法 在介紹完 go 的邏輯判斷的之後接下來要跟大家分享一下 go 迴圈的語法,這部分內容與大部分語言相同,本來筆者想這樣告訴大家,但是其實 go...

鐵人賽 Modern Web DAY 11

技術 指標

go 的指標 在上一篇文章中提到自定義型別的方法,讀者們可以試試看把該自定義型別生成的物件賦予到另一個變數上在更改其屬性的值,最後觀察其值的變化狀況。接下來就是...

鐵人賽 自我挑戰組 DAY 17

技術 Day17 .[心得與討論篇] 走向interface去設計架構(4)- 思考interface的應用III

重新斟酌內部結構設計 重新再思考一下,外面的struct,裡面是否真的有需要放個struct。 筆者認為,屬於struct內部的變數,放什麼型態都可好處理,除了...

鐵人賽 自我挑戰組 DAY 18

技術 Day18 .[心得與討論篇] 走向interface去設計架構(5)- 從思考資料的想法轉變成思考業務

回顧 筆者直到到半年前為止,開發的內容幾乎是圍繞在平台的部分,後來才踏入遊戲這塊。 平台與遊戲著重的業務處理,明顯有不同的重心,因為平台的業務處理重點在於資料,...

鐵人賽 自我挑戰組 DAY 24

技術 Day24 .[心得與討論篇] struct 設計解析 - 以melody package (4)

今天我們繼續來看Melody,hub,Session三個業務主體,它們struct當中值得關心的部分。 用前三篇的分析,可以充分了解到,Melody,hub,S...

鐵人賽 Software Development DAY 27

技術 第二十七天:goroutine 執行中

前情提要 昨日加前日,將 signal 相關的機制瀏覽完,然後準備進入 schedule。 加入排程 終於來到這個無法折返點了。schedule 函式也還是一...

技術 Go Generic 入門筆記

Hashnode好讀版本 類型安全 過往使用interface{} a和b的類型在執行時才會被檢查,這就增加了出錯的可能性。 func Add(a, b in...

鐵人賽 Modern Web DAY 13

技術 [Day13] Go 常用的套件

前面已經有稍微提了HttpServer的第三方套件以及判定型別的reflect今天再來介紹其他GO語言中常用的幾個官方套件 fmt fmt是一個官方將資料顯示於...

鐵人賽 自我挑戰組 DAY 30

技術 Day30 .[心得與討論篇] 還有好多講不完的心得

感言 有些東西在C#、Java、Php上的寫法或概念,到了golang的實作已經不一樣了,本身golang在出生的設計上就是別於以往的想法。 golang有了g...

鐵人賽 Modern Web DAY 8

技術 方法的宣告及使用

go 方法的宣告及使用 認識完 go 變數宣告以及迴圈還有邏輯判斷式之後開始要進入大量的變數宣告、迴圈以及邏輯的世界了,當然這部分需要把共用的東西抽成方法來開發...

鐵人賽 Software Development DAY 14

技術 第十四天:schedinit 告一段落

前情提要 原本打算昨日結束整個 schedinit 部份,但光是寫範例程式和追蹤其中的 P-M-G 關係就花了許多時間... schedinit ......

鐵人賽 Software Development DAY 6

技術 第六天:暫停一下回顧未解問題

前情提要 昨日一層一層瀏覽了不同層次的抽象層,最後把寫入檔案的動作看完,整個 Hello World 程式也暫告結束。 稍事休息 過去幾天我們一步一步的看過...

鐵人賽 自我挑戰組 DAY 11

技術 DAY 11 Go 語言 的核心型別 - 數字

不知道大家會不會有跟我一樣的問題,為什麼還要特別介紹型別?鐵人賽都第八天了,我多少也知道有 string (字串)、bool (布林值)、int (數字)等,還...

鐵人賽 Software Development DAY 22

技術 第二十二天:領取號碼牌

前情提要 昨日看到 gostartcallfn 函式眼睛一亮,但終究只是設定一些 context,runtime 還未結束,仍需繼續 trace。 接下去呢?...

技術 Excelize 釋出 2.6.1 版本,支持加密檔案

Excelize 是 Go 語言編寫的用於操作 Office Excel 檔案基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它...

鐵人賽 Software Development DAY 16

技術 第十六天:newproc1 之前的堆疊準備動作

前情提要 昨日開始了 newproc 函式,概念上應該是要準備一個新的 goroutine 準備執行?通常是用在 go statement 的生成,但是這裡是...

鐵人賽 Software Development DAY 17

技術 第十七天:看看 systemstack 函式呼叫

前情提要 昨日我們以相當貼近記憶體的方式看完了 newproc 函式,主要是在兜出後續呼叫所需要的參數,為接下來的 systemstack 呼叫作準備。 進入...

鐵人賽 自我挑戰組 DAY 30

技術 # DAY 30 Go 語言 錯誤處理 error 值

昨天介紹程式錯誤的類型,今天再繼續介紹錯誤處理 error 值 Go 語言的 error 值 在 Go 語言中,一個 error 都算是一個 值 ,那既然他是一...

鐵人賽 Software Development DAY 24

技術 第二十四天:上膛的 goroutine

前情提要 走到 newproc1 函式的結尾。新的 goroutine 已經如子彈一般上膛了。 一路返回 newproc1 回傳之後會一路回到最初的 rt0_...

鐵人賽 自我挑戰組 DAY 20

技術 DAY 20 Go 語言 內嵌結構 (embedding struct)

昨天我們對於結構有基礎的了解後,今天繼續來學習結構還能怎麼變! 內嵌結構 雖然說 Go 語言不是物件導向程式設計語言,所以沒有跟 class 一樣可以繼承,但是...