iT邦幫忙

go相關文章
共有 410 則文章
鐵人賽 SideProject30 DAY 20

技術 Day20 Login Service - OAuth Token存到Dynamodb

開始之前我們調整一下之前在adapter\google\oauth.go的OAuthLoginURL(),把原本寫死的第一個參數”state-token”改...

鐵人賽 自我挑戰組 DAY 28
Go in 3o 系列 第 28

技術 [Day28] Go in 30 - 處理JSON資料

一、本篇提要 本篇重點會著重於Go如何解析JSON,以及了解Go自有的 gob 二進位編碼功能。 解碼JSON為Go結構 將Go結構編碼為JSON 二、解碼...

鐵人賽 自我挑戰組 DAY 27
Go in 3o 系列 第 27

技術 [Day27] Go in 30 - 時間處理

一、本篇提要 本篇開始介紹Go中的time套件,時間處裡是Go程式的核心之一,time套件官方文件 建立時間資料 時間值的格式化 時間值的管理 時間值的比較與...

鐵人賽 Modern Web DAY 22
起步Go!Let's Go! 系列 第 22

技術 [ Day 22 ] GO 創建簡單的用戶端:踏上與伺服器對話的征途

在現代應用程式中,用戶端和伺服器之間的通信是不可或缺的一部分。Go 的強項之一是其在構建網路應用程序方面的表現。今天,我們將深入研究如何使用 Go 語言創建一個...

鐵人賽 自我挑戰組 DAY 26
Go in 3o 系列 第 26

技術 [Day26] Go in 30 - Debug - 單元測試(unit test)

一、本篇提要 最後要來看Go程式撰寫簡單的單元測試,並使用 go test 來替我們測試函式與套件。這次我們會沿用之前的shape程式範例,並稍作改寫。 二、撰...

鐵人賽 SideProject30 DAY 19

技術 Day19 調整SSM+補用testify測試

昨天我們在server.go的地方會發現,要去調用SSM的地方,因為是一個一個參數去查,參數一多看起來就會很混亂,像下面這樣。 如果我們能一次性地去查詢,應該...

鐵人賽 自我挑戰組 DAY 25
Go in 3o 系列 第 25

技術 [Day25] Go in 30 - Debug

一、本篇提要 接下來要介紹的是Go的除錯基本方法,將會介紹到格式化訊息、log、單元測試(unit test)。 以 fmt 套件做格式化輸出 使用log...

鐵人賽 自我挑戰組 DAY 24
Go in 3o 系列 第 24

技術 [Day24] Go in 30 - 套件(package) - 第三方模組或套件

一、 本篇提要 如果我們需要使用網路上別人公開的套件,可用 go get 指令下載它到系統中 $GOPATH\pkg\mod 位置。有需要時就使用 go mod...

鐵人賽 SideProject30 DAY 18

技術 Day18 GoogleDrive API 04

我們仔細看昨天的流程會發現,要調用Google Drive之前一定要先拿使用者的token去建立*http.Client然後再交給drive.NewServic...

鐵人賽 自我挑戰組 DAY 22
Go in 3o 系列 第 22

技術 [Day22] - Go in 30 - 泛型(generic)

一、本篇提要 承接前篇泛型 基本泛型概念 泛型應用示範 二、基本泛型 2.1 基本泛型概念: Type Parameter:作為佔位符存在的一個型別,用...

鐵人賽 自我挑戰組 DAY 21
Go in 3o 系列 第 21

技術 [Day21] - Go in 30 - 介面 - 型別斷言(type assertion)

一、本篇提要 型別斷言(type assertion) 斷言與switch 二、型別斷言 在 Golang 中,所有型別都實現了 interface{} 這...

鐵人賽 SideProject30 DAY 17

技術 Day17 GoogleDrive API 03

今天我們把的範例整理一下,首先先把操作Google Cloud的部分移到adapter 首先,我們在adapter建立資料夾google,並建立oauth....

鐵人賽 自我挑戰組 DAY 23
Go in 3o 系列 第 23

技術 [Day23] Go in 30 - 套件(package) - 簡介

一、本篇提要 本篇要示範的是,Go語言運用套件的重要性,並說明如何讓程式更好維護、更有組織等,在這個主題之下將理解,套件如何定義、套件內名稱匯出方式、替套件建立...

鐵人賽 自我挑戰組 DAY 20
Go in 3o 系列 第 20

技術 [Day20] Go in 30 - 介面 - 泛型(generic)

一、本篇介紹 泛型 generic 型別斷言 type assertion 與 switch 什麼時候該用泛型 ? 二、泛型 generic 其實inter...

鐵人賽 自我挑戰組 DAY 19
Go in 3o 系列 第 19

技術 [Day19] Go in 30 - 介面 - 在函式中活用介面

一、本篇提要 以介面為參數的函式 以介面為回傳值的函式 判斷要不要使用介面作為傳回值 空介面 二、以介面為參數的函式 本篇會透過 io.Reader 為例,...

鐵人賽 自我挑戰組 DAY 18
Go in 3o 系列 第 18

技術 [Day18] Go in 30 - 介面 - Duck Typing 與 Polymorphism

一、本篇提要 Duck Typing Polymorphism 二、值接收器、指標接收器與介面 前面實作 Speaker 及 Stringer 介面時所作,...

鐵人賽 自我挑戰組 DAY 17
Go in 3o 系列 第 17

技術 [Day17] Go in 30 - 介面(interface)

一、本篇提要 在Go語言中,介面的實作是隱性的(implicit),不會像其他語言要求你明確實作介面,在介面這個主題下會開始介紹,如何宣告介面、實作介面、何謂...

鐵人賽 SideProject30 DAY 16

技術 Day16 GoogleDrive API 02

昨天我們寫好OAuthLogin,並且註冊對應路由/ouath-login,有了路由後我們就能補上我們之前在Google Cloud上暫時留空的重新導向URL了...

鐵人賽 SideProject30 DAY 15

技術 Day15 GoogleDrive API 01

當我們平常像下面這樣透過Google OAuth進行登入時,點選登入後會需要有一個Redirect URI,只要Google驗證通過後,就會重新導向去打該網址,...

鐵人賽 SideProject30 DAY 14

技術 Day14 Sever"啟動" - Gin + ( Lambda or Ngrok ) 04

今天來寫最後server的部分,首先新增server/server.go,透過initRouter註冊一個gin的engine後,調用RegisterHandl...

鐵人賽 自我挑戰組 DAY 15
Go in 3o 系列 第 15

技術 [Day15] Go in 30 - 錯誤處理 panic

(圖片來源) 一、本篇提要 何謂 panic panic() 函式 二、何謂 panic 很多程式語言,都會用例外exception的方式來處理錯誤,例如...

鐵人賽 自我挑戰組 DAY 16
Go in 3o 系列 第 16

技術 [Day16] Go in 30 - 錯誤處理 - recover

一、本篇提要 panic 狀況其實也非不能補救,Go語言提供了 recover() 函式,可以在某個 Goroutine 發生 panic 後取回控制權。 r...

鐵人賽 自我挑戰組 DAY 14
Go in 3o 系列 第 14

技術 [Day14] Go in 30 - 錯誤處理 -認識標準函式庫error騷兩圈

一、本篇提要 本篇主要檢視Go語言標準套件本身的程式碼片段,來了解Go錯誤處理的慣例,以及如何建立自訂錯誤error。 二、瞧瞧 Go 的錯誤處理 大部分程式語...

鐵人賽 SideProject30 DAY 13

技術 Day13 Sever"啟動" - Gin + ( Lambda or Ngrok ) 03

今天來寫上Router層的部分,開始之前,剛剛發現line-bot-sdk-go 更新到了v7版本,那我們也來跟著更新,目前使用到的地方,沒有使用方式要跟著換的...

鐵人賽 自我挑戰組 DAY 13
Go in 3o 系列 第 13

技術 [Day13] Go in 30 - 函式 - 以函式為型別的參數

一、本篇提要 本篇會介紹如何將函式當成引數,傳遞給其他函式;函式也可以傳回函式,甚至可以拿函式賦值給變數(如閉包);除此之外會說明defer,延後函式的執行時機...

鐵人賽 自我挑戰組 DAY 12
Go in 3o 系列 第 12

技術 [Day13] Go in 30 - 函式 - 參數不定函式、匿名函式與閉包

一、本篇提要 本篇將會繼續咱有關Go語言函式的種種,今日介紹的是 : 參數不定函式(variadic function) 匿名函式與閉包 二、參數不定函式...

鐵人賽 SideProject30 DAY 12

技術 Day12 Sever"啟動" - Gin + ( Lambda or Ngrok ) 02

今天我們先定義好資料夾結構,然後寫一些框和範例起來,首先先建立下面的資料夾路徑&檔案 當收到Linebot的請求後,我們的應用會在Router層接收並...

鐵人賽 自我挑戰組 DAY 11
Go in 3o 系列 第 11

技術 [Day11] Go in 30 - 函式- 簡介

一、本篇提要 從這篇開始,將進入到函式的介紹,將會知道它的組成、函式的變數範圍、如何建立(參數不定函式、匿名函式、閉包(closure))、呼叫函式,或將函示當...

鐵人賽 Modern Web DAY 12
起步Go!Let's Go! 系列 第 12

技術 [ Day 12] Go 指標參數:釋放函式的潛力

上一章講解了什麼是指標,當學會了指標的基本操作後,接下來,要說明指標應用在哪。 函式參數傳遞 最簡單的應用在函式的參數傳遞。函式的參數傳遞就是呼叫函式時,資料如...

鐵人賽 自我挑戰組 DAY 10
Go in 3o 系列 第 10

技術 [Day10] Go in 30 - 空介面與型別檢查

(圖片來源:twitter @oleg_kovalov) 一、本篇重點 型別轉換 型別斷言 interface{}空介面 型別switch panic 二...