iT邦幫忙

go相關文章
共有 368 則文章
鐵人賽 Software Development DAY 24

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

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

鐵人賽 Software Development DAY 7

技術 第七天:瀏覽系統相依的初始化

前情提要 昨日宣告重啟 Hello World 程式,但是是那些我們所寫的 main 函式以外的部份。目前追蹤到作業系統與架構相依的部份結束,何時會迎來 GO...

鐵人賽 Software Development DAY 15

技術 第十五天:追蹤 newproc

前情提要 昨日終於結束了 schedinit 部份,主要是追 gcinit 函式,還有從比較抽象的角度瀏覽了一些垃圾回收的機制。 退回一層 回到我們之前所在的...

鐵人賽 自我挑戰組 DAY 15

技術 DAY 15 Go 語言 的複合型別 - 切片 (slice) 的內部運作及隱藏陣列

昨天瞭解了切片的使用方式,但光會使用而不了解切片的原理,絕對會在未來吃一些不明所以的虧,所以我們立馬來了解一下切片到底從何而來以及怎麼運作! 切片 (slice...

鐵人賽 SideProject30 DAY 22

技術 Day22 繞過 Google OAuth 在 User Agent 上的使用限制

這幾天我們都是透過電腦版的Line來做測試,但是如果是使用手機版的話,會發現當我們點擊Google OAuth的URL要進行認證授權的時候,雖然前面的步驟都一切...

鐵人賽 自我挑戰組 DAY 22

技術 DAY 22 Go 語言 型別檢查

昨天將結構 (struct) 完整的介紹完畢,今天就來介紹如何檢查型別。 在本次的鐵人賽曾多次提到 Go 語言是強型別的語言,也就是遇到函式引數型別和實際叫用型...

鐵人賽 Software Development DAY 25

技術 第二十五天:minit 與 signal 設置

前情提要 昨日進入到 mstart 函式之中,可算是整個 bootstrap 的最後階段。在裡面走到 mstart1,也透過 gdb 觀察得知就是在這裡面執行...

鐵人賽 自我挑戰組 DAY 16

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

生硬的結構 如果外面的struct裡面是包struct,在宣告出來了時候,裡面的struct是定死的,變數就是指定要宣告時的struct型態。 如下所示 //...

鐵人賽 自我挑戰組 DAY 4

技術 DAY 4 Go 語言 用短變數宣告變數 (variables) 及更改變數值

昨天我們學習了最基礎的用 var 宣告一個或多個變數 (variables) ,以及可以省略型別或是初始值,今天立馬學習用短變數宣告、一次宣告多個變數以及如何更...

鐵人賽 自我挑戰組 DAY 13

技術 DAY 13 Go 語言 的複合型別 - 陣列 (array)

昨天學習完 Go 語言中的核心型別,但若想要建立更複雜的資料,那就需要搭配複合型別,今天就先來介紹第一個複合型別- 陣列 (array) 。 今天我想要把水果分...

鐵人賽 自我挑戰組 DAY 26

技術 DAY 26 Go 語言 函式 (function) 參數不定函式

昨天介紹在 Go 語言中函式 (function) 的傳回值,那我們今天繼續學習參數不定的函式~~ 參數不定函式 參數不定函式(variadic functio...

鐵人賽 Software Development DAY 13

技術 第十三天:更多除錯訊息

前情提要 昨日提到除錯選項的 allocfreetrace,但若要觀察 scheduler 行為,hw 範例還是太單薄了一些。 schedinit ......

鐵人賽 自我挑戰組 DAY 23

技術 DAY 23 Go 語言 函式 (function) 介紹及宣告函式

昨天介紹了在 Go 語言中的型別檢查,今天要介紹其實前面章節的範例也經常出現的函式 (function)。 Go 語言中的函式 (function) 函式 (f...

鐵人賽 Software Development DAY 18

技術 第十八天:GO 語言運行模型的三項之力

前情提要 昨日我們簡單路過 systemstack 函式之後開始了 newproc1 函式。 暫停回顧 P-M-G 關係 雖然在第 10 天時有簡單介紹註解中...

鐵人賽 Software Development DAY 19

技術 第十九天:G 的取得路徑

前情提要 昨日我們都在爬梳註解與其他資料,企圖從比較鳥瞰的角度去觀察排程器與 GO 的系統模型。 acquirem 和 releasem(在 runtime/...

鐵人賽 自我挑戰組 DAY 27

技術 DAY 27 Go 語言 函式 (function) 匿名函式與閉包

昨天介紹到參數不定函式,今天立馬來繼續學習匿名函式~ 具名函式 目前為止我們的函式都是必須在套件層級宣告的 具名函式: func myFavorite() {...

鐵人賽 自我挑戰組 DAY 16

技術 DAY 16 Go 語言 的複合型別 - 切片 (slice) 不同的複製方式與隱藏陣列的關聯

昨天介紹了切片的內部運作及隱藏陣列的存在,今天會使用各種範例來複製切片,一起來看看用不同的複製方式與隱藏陣列的關聯吧! 複製一個跟本來切片指向不同隱藏陣列的切片...

鐵人賽 Software Development DAY 20

技術 第二十天:新生 goroutine 的初始狀態

前情提要 昨日我們走過 newproc1 函式的最開頭部份;順利的情況下,能夠取得一個新的 G。 使用 gdb 驗證 我們將斷點設在 runtime.newp...

鐵人賽 Software Development DAY 23

技術 第二十三天:開始排隊

前情提要 之前取得的 newg 狀態已經調整為可執行,而且也已經分配好 ID 了。 newproc1 的尾巴 if raceenabled {...

鐵人賽 自我挑戰組 DAY 17

技術 DAY 17 Go 語言 的複合型別 - 映射表 (map)

昨天介紹完切片 (slice) 不同的複製方式與隱藏陣列的關聯,今天繼續來介紹有點類似的映射表 (map) 吧! map 是什麼以及怎麼取得 map 內元素 G...

鐵人賽 SideProject30 DAY 1

技術 Day01 背景&專案介紹

背景 Line應該是目前臺灣最主流的通訊軟體,不知道大家的使用習慣如何,但我相信應該很多人跟我一樣,習慣建一個or多個只有自己一個人的群組,然後有什麼資料就往自...

鐵人賽 自我挑戰組 DAY 24

技術 DAY 24 Go 語言 函式 (function) 呼叫及參數

昨天了解在 Go 語言中函式 (function) 介紹及宣告函式,今天來了解如何呼叫函式及函式參數。 呼叫函式 當我們宣告好一個函式,要如何執行函式呢?那就是...

技術 Golang 學習筆記-- 快速上手/重點整理 - 2 - var, const

print import ("fmt") fmt.Println('hello') 宣告 變數 var variablename type...

鐵人賽 自我挑戰組 DAY 5

技術 DAY 5 Go 語言 算符 (operators) 及零值 (zero values) 的介紹

昨天我們介紹了在 Go 語言中各種變數宣告與更改變數值的方式,但我們有了變數之後,會需要對變數做一些操作,於是乎這就是算符 (operators) 出場的好時機...

技術 Java 工程師學 Golang - func

func()可回傳多個回傳值,如果不接回傳值,可以用_ func main() { arr := [15]int{1, 2, 3, 4, 5, 6,...

鐵人賽 SideProject30 DAY 3

技術 Day03 前置準備-02(AWS Lambda+API Gateway)

設定Lambda+API Gateway 接著就是要來設定AWS Lambda+API Gateway了~ 1.複製以下測試用的code,部屬一個簡單的LINE...

技術 Go的Project布局淺談

圖文好讀版連結 Project Layout in Go 剛入門任何一門程式語言開發的人, 應該大多都是參考各路大神們的專案或者公司的專案在學習模仿。 一開始印...

技術 Learn Go學習筆記第二週

Learn Go 是在codecademy上的Go語言基礎課程,這週的主要內容在學習function的寫法,以及指標參數Learn Go in 12 Minut...

鐵人賽 SideProject30 DAY 30

技術 Day30 為Button補上對應的功能

最後一天,我們來為Button增加對應的功能,目前有的按鈕有兩種,一種是[進入資料夾],一種是[設為上傳路徑]。 那我們就先從[進入資料夾]開始,我們要製作進入...

鐵人賽 自我挑戰組 DAY 28

技術 DAY 28 Go 語言 函式 (function) 用 defer 延後執行函式

用 defer 延後執行函式 defer 中文是推遲的意思,而在函式裡執行 defer 顧名思義就是延遲函式執行的時間,當使用 defer 的函式可以等到父函式...