iT邦幫忙

go相關文章
共有 255 則文章
鐵人賽 自我挑戰組 DAY 20
30天學會Golang 系列 第 20

技術 day20 - 字串操作

大家好,今天是鐵人賽第二十天。字串是程式設計中最常使用的資料型態,尤其是在處理 io 的時候,例如:檔案、網路、資料庫等等。今天我就來介紹一些go語言中常用的字...

鐵人賽 Software Development DAY 10

技術 第十天:初遇 GO 語言密碼:G、M、P?

前情提要 昨日追蹤排程初始化(runtime.schedinit)函式內容,多閱讀了 tracebackinit 函式(與追溯 stack 機制有關的初始化,...

鐵人賽 自我挑戰組 DAY 10

技術 Day10 .[正確資料篇] 浮點數運算請decimal package協助

decimal package 今天不是特別要來教學decimal的套件怎麼使用,如果各位有找到不錯的處理浮點數套件或解法也非常好,根據各自的需求挑選合適的解決...

鐵人賽 Modern Web DAY 16
BeeGo 系列 第 16

技術 Middleware / Filter(2)

上篇介紹了 Filter 的使用以及 Django 的作法,這篇我們就來試著簡化 Django 的作法,然後參考官方文件,來實作一個在驗證失敗後會導向到 /lo...

鐵人賽 Software Development DAY 18

技術 database/sql, 和資料庫打個招呼

SQL 在做專案時, 都會需要關聯式資料庫做資料的CRUD. Go提供了database/sql包來讓開發者跟資料庫打交道, 這包就像Java的JDBC. da...

鐵人賽 自我挑戰組 DAY 19
30天學會Golang 系列 第 19

技術 day19 - 錯誤處理(續)

大家好,今天鐵人賽第十九天。昨天簡單說明了如何自訂錯誤,今天來講錯誤處理的相關語法,包含 defer 、 panic 、 recover。 defer def...

鐵人賽 Software Development DAY 9

技術 第九天:進入 schedinit (之二)

前情提要 昨日剛開始追蹤排程初始化(runtime.schedinit)函式的開頭部份,註解真的幫了大忙;大略上瀏覽過一些觀念,比方說 goroutine 的...

鐵人賽 自我挑戰組 DAY 9

技術 Day9 .[正確資料篇] range、map、slice、channel、goroutine 的組合應用

這篇講述會比較片段一點,一些Golang常用的資料結構,使用上的小細節。 range 搭配 map、slice range 是Golang做interation...

鐵人賽 Modern Web DAY 15
BeeGo 系列 第 15

技術 Middleware / Filter(1)

Django 有 middleware,可以處理在進 View 之前的 HTTP Request,而在 BeeGo 裡,是稱做 Filter。在上篇裡,我們也有...

鐵人賽 Software Development DAY 17

技術 Reflection

Reflection 反射 反射指的是程式"運行"期間動態的調用對象的方法和屬性. Golang內建這功能, 在"reflect...

鐵人賽 自我挑戰組 DAY 18
30天學會Golang 系列 第 18

技術 day18 - 錯誤處理

大家好,今天是鐵人賽第十八天,我要來介紹go語言的例外處理機制。當執行程式時,遇到作業系統或網路異常,我們可能會拋出例外讓程式中斷;而這時候,如果是網頁就會回應...

鐵人賽 Modern Web DAY 14
BeeGo 系列 第 14

技術 Session(2)

這篇主要是了解一下 BeeGo 如何處理 HTTP 請求,以及了解 Session 的運作。 全域 官方文件裡的 Session Module 有提到 Sess...

鐵人賽 自我挑戰組 DAY 8

技術 Day8 .[正確資料篇] slice 與 map 加lock

前言 這篇開始,會陸續分享一些資料處理上碰到的狀況和處理經驗,已上線系統來說,資料的完整和正確性優先權也幾乎是最高,一但發生問題,損失難以估計。 相較程式cra...

鐵人賽 Software Development DAY 8

技術 第八天:進入 schedinit

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

鐵人賽 Software Development DAY 16

技術 Context, 眾Goroutine手上的電話蟲

想像一下 如果用多個goroutine來處理一個請求, 那怎在這些goroutine之間共享request訊息. 每一個請求都應該要有個超時限制 處理超時,...

鐵人賽 Modern Web DAY 13
BeeGo 系列 第 13

技術 Session(1)

今天要來介紹 Session。 設定 需要在設定裡啟用。 SessionOn = true 啟用之後,要重新啟動。 設定裡也可以指定過期時間、Cookie等。...

鐵人賽 Software Development DAY 7

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

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

鐵人賽 自我挑戰組 DAY 7

技術 Day7 .[重災經驗篇] 爆連線問題,TCP ESTABLISHED 咬著不放

這篇跟大家分享Golang 連線重複利用的重要,以及遭遇沒辦法用完即丟的窘境。 如標題,最主要探討的問題是TCP ESTABLISHED ,遇到了一旦tcp 連...

鐵人賽 Software Development DAY 15

技術 Channel, goroutine之間的溝通橋樑

Channel channel能夠在多個goroutine之間作數據交換, 任何時間, 同時只能有一個goroutine來存取通道進行發送或獲取資料. Cha...

鐵人賽 自我挑戰組 DAY 16
30天學會Golang 系列 第 16

技術 day16 - 閉包

大家好,今天是鐵人賽第十六天。還記得 day5-常數與函式 講的函式用法嗎? go語言的函式是可以當作變數使用,而且函式也是一種型別,今天我要講來函式的一種進階...

鐵人賽 Software Development DAY 6
Golang入門到進階實戰 系列 第 6

技術 Day6 資料結構 Array & Slice

前言 在上一篇文章中,我們介紹了變數,變數的功能是跟電腦宣告單一空間來儲存資料,在現實問題裡,更常見的情況是需要處理一堆資料,這時候我們就需要引用資料結構,資料...

鐵人賽 Modern Web DAY 12
BeeGo 系列 第 12

技術 Cache

今天要來介紹 Cache,不過我試過一遍以後,發現我卡住了。無論如何,還是做介紹,並且說明我卡在哪裡,當作一個記錄。 BeeGo 的 Cache 提供者有這五種...

鐵人賽 自我挑戰組 DAY 6

技術 Day6 .[重災經驗篇] … 的傳入參數方式,自由度很大,但還是要小心

說明 利用...的寫法,可以在function的設計提供彈性,傳入幾個參數交由使用者做決定,傳入的內容彙整成同樣型態的slice。 slice,亦即裡面的元素是...

鐵人賽 Software Development DAY 6

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

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

鐵人賽 自我挑戰組 DAY 15
30天學會Golang 系列 第 15

技術 day15 - 介面(續)

大家好,今天是鐵人賽第十五天。昨天介紹了介面的基本用法,了解go語言的介面該如何宣告及使用,而介面還有一些特性沒有提到,今天來把剩下的東西補完。 介面的內嵌 我...

鐵人賽 Software Development DAY 5
Golang入門到進階實戰 系列 第 5

技術 Day5 數據類型與變數宣告

命名規範 Go語言中任何識別字(Identifiers) 變量、常量、函數和自定義類型等,都應該滿足以下規則: 由字母、數字和下划線組成,數字不能當開頭 大小...

鐵人賽 Software Development DAY 5

技術 第五天:Fprintln 後半

前情提要 昨日瀏覽了 fmt.Fprintln 的前半,先是看了一下 printer 代表什麼意義,中間也如往常一般遇到許多新奇又陌生的 GO 語言元件(如...

鐵人賽 Modern Web DAY 11
BeeGo 系列 第 11

技術 Routing

Routing 就路由,一般在 web framework 裡就是指定義路徑與處理函式的對應關係,今天就是要介紹 BeeGo 的 Routing。在前面其實我們...

鐵人賽 自我挑戰組 DAY 5

技術 Day5 .[重災經驗篇] gorutine與map的讀寫

說明 Golang FAQ 就有提到,不同的goroutine對於同樣的map做讀寫操作可能會有什麼問題,很感謝剛開始接觸Golang的時候,朋友熱心的建議,先...

鐵人賽 Software Development DAY 13

技術 Defer 延遲調用

看個例子, 這是一個讀取資料庫取資料的方法 func (db *DB) ReadData(age int, results []Result) { //...