圖文好讀版連結 Project Layout in Go 剛入門任何一門程式語言開發的人, 應該大多都是參考各路大神們的專案或者公司的專案在學習模仿。 一開始印...
我們之前實現過ListFiles(),會把所有雲端硬碟上的檔案列出來,我們也確定操作GoogleDrive這段沒有問題。但我們今天的需求是要把收到的檔案傳到Go...
這幾天我們都是透過電腦版的Line來做測試,但是如果是使用手機版的話,會發現當我們點擊Google OAuth的URL要進行認證授權的時候,雖然前面的步驟都一切...
一、 本篇提要 接下來會說明檔案的建立、和寫入,在此之前會需要先了解什麼是檔案權限。 檔案存取權限 建立與寫入檔案 os.OpenFile() 二、檔案存取...
一、本篇題要 這個主題將了解系統與檔案,像是介紹多種讀寫純文字檔和CSV格式檔案的方式,以及檔案的存取權限。我們會實作一個命令列應用程式,可以接收各種 flag...
在昨天的練習中,當我們使用 GET 請求時,並成功得到網站中的資料,我們都用是終端機查看回傳的資訊,雖然一樣可以達到查看資料的目的,但好像缺少了什麼!!這就不得...
今天一開始我們先來調整一下我們之前對Expiry宣告的類型,昨天仔細看發現oauth官方的Token(oauth2.Token)結構如下: type Token...
開始之前我們調整一下之前在adapter\google\oauth.go的OAuthLoginURL(),把原本寫死的第一個參數”state-token”改...
一、本篇提要 本篇重點會著重於Go如何解析JSON,以及了解Go自有的 gob 二進位編碼功能。 解碼JSON為Go結構 將Go結構編碼為JSON 二、解碼...
一、本篇提要 本篇開始介紹Go中的time套件,時間處裡是Go程式的核心之一,time套件官方文件 建立時間資料 時間值的格式化 時間值的管理 時間值的比較與...
在現代應用程式中,用戶端和伺服器之間的通信是不可或缺的一部分。Go 的強項之一是其在構建網路應用程序方面的表現。今天,我們將深入研究如何使用 Go 語言創建一個...
一、本篇提要 最後要來看Go程式撰寫簡單的單元測試,並使用 go test 來替我們測試函式與套件。這次我們會沿用之前的shape程式範例,並稍作改寫。 二、撰...
昨天我們在server.go的地方會發現,要去調用SSM的地方,因為是一個一個參數去查,參數一多看起來就會很混亂,像下面這樣。 如果我們能一次性地去查詢,應該...
一、本篇提要 接下來要介紹的是Go的除錯基本方法,將會介紹到格式化訊息、log、單元測試(unit test)。 以 fmt 套件做格式化輸出 使用log...
一、 本篇提要 如果我們需要使用網路上別人公開的套件,可用 go get 指令下載它到系統中 $GOPATH\pkg\mod 位置。有需要時就使用 go mod...
我們仔細看昨天的流程會發現,要調用Google Drive之前一定要先拿使用者的token去建立*http.Client然後再交給drive.NewServic...
一、本篇提要 承接前篇泛型 基本泛型概念 泛型應用示範 二、基本泛型 2.1 基本泛型概念: Type Parameter:作為佔位符存在的一個型別,用...
一、本篇提要 型別斷言(type assertion) 斷言與switch 二、型別斷言 在 Golang 中,所有型別都實現了 interface{} 這...
今天我們把的範例整理一下,首先先把操作Google Cloud的部分移到adapter 首先,我們在adapter建立資料夾google,並建立oauth....
一、本篇提要 本篇要示範的是,Go語言運用套件的重要性,並說明如何讓程式更好維護、更有組織等,在這個主題之下將理解,套件如何定義、套件內名稱匯出方式、替套件建立...
一、本篇介紹 泛型 generic 型別斷言 type assertion 與 switch 什麼時候該用泛型 ? 二、泛型 generic 其實inter...
一、本篇提要 以介面為參數的函式 以介面為回傳值的函式 判斷要不要使用介面作為傳回值 空介面 二、以介面為參數的函式 本篇會透過 io.Reader 為例,...
一、本篇提要 Duck Typing Polymorphism 二、值接收器、指標接收器與介面 前面實作 Speaker 及 Stringer 介面時所作,...
一、本篇提要 在Go語言中,介面的實作是隱性的(implicit),不會像其他語言要求你明確實作介面,在介面這個主題下會開始介紹,如何宣告介面、實作介面、何謂...
昨天我們寫好OAuthLogin,並且註冊對應路由/ouath-login,有了路由後我們就能補上我們之前在Google Cloud上暫時留空的重新導向URL了...
當我們平常像下面這樣透過Google OAuth進行登入時,點選登入後會需要有一個Redirect URI,只要Google驗證通過後,就會重新導向去打該網址,...
今天來寫最後server的部分,首先新增server/server.go,透過initRouter註冊一個gin的engine後,調用RegisterHandl...
(圖片來源) 一、本篇提要 何謂 panic panic() 函式 二、何謂 panic 很多程式語言,都會用例外exception的方式來處理錯誤,例如...
一、本篇提要 panic 狀況其實也非不能補救,Go語言提供了 recover() 函式,可以在某個 Goroutine 發生 panic 後取回控制權。 r...
一、本篇提要 本篇主要檢視Go語言標準套件本身的程式碼片段,來了解Go錯誤處理的慣例,以及如何建立自訂錯誤error。 二、瞧瞧 Go 的錯誤處理 大部分程式語...