iT邦幫忙

go相關文章
共有 398 則文章

技術 Go Generic 入門筆記

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

鐵人賽 SideProject30 DAY 30

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

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

鐵人賽 SideProject30 DAY 29

技術 Day29 Drive Service - 用Google Drive API取資料建立Carousel

我們昨天完成了整個組合Carousel的部分,今天來把資料來源換成從Google Drive API取得。 首先,我們先看一下需要哪些資料 type New...

鐵人賽 SideProject30 DAY 28

技術 Day28 用Go動態組合Flex Message 02

昨天我們完成了組成一個Bubble需要的4個區塊,今天我們透過這4個區塊把Bubble組起來,然後再用Bubble把Carousel組合起來,就可以回傳給Dri...

鐵人賽 SideProject30 DAY 27

技術 Day27 用Go動態組合Flex Message 01

昨天我們依照JSON把Flex Message刻了出來,真心覺得應該可以有一個Generate Code的工具,把用Flex Message Simulator...

鐵人賽 SideProject30 DAY 26

技術 Day26 加上Flex Message Carousel

昨天我們完成了,從Linebot收到檔案,並且上傳到Google Drive上的指定資料夾。 但是目前指定資料夾的ID是寫死的,我們也不可能每次要指定資料夾都去...

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

技術 [ Day 28 ] Go 與 Gin:打造強大的 Web 應用程式 (中)

昨天我們已經學會如何使用 Gin 以及 Gorm,並且在輸入網址 http://loaclhost:8080 可以看到 JSON 格式的 message,接下來...

鐵人賽 SideProject30 DAY 25

技術 D25 Drive Service - 上傳檔案02

昨天我們已經可以成功從LineBot上收到檔案並暫存下來,今天我們透過domainDrive.SaveContent()回傳的*os.File,把他傳入adap...

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

技術 [ Day 27 ] Go 與 Gin:打造強大的 Web 應用程式 (上)

在前幾天的學習中,已經建立了一個基本的文章管理應用程式,使用 Go、SQLite 和 HTML。今天,將進一步探索如何使用 Gin 框架來提升 Web 應用程式...

鐵人賽 SideProject30 DAY 24

技術 Day24 Drive Service - 上傳檔案01

今天開始來處理上傳檔案到GoogleDrive的部分~ 首先要先能在LineBot上拿到使用者傳送的檔案,我們在Callback加上一個case,透過*line...

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

技術 [ Day 26 ] Go 題外話:Goroutine 和 Channel

最近一直聽到公司同事再說 Go 的高流量高併發,那這兩個又是甚麼呢?這邊舉一個生活中的例子這樣大家比較好懂: 高流量 & 高併發 假設你是一家快遞公司的...

技術 Go的Project布局淺談

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

鐵人賽 SideProject30 DAY 23

技術 Day23 Drive Service - 撈出”我的雲端硬碟”&”與我共用”下的資料夾

我們之前實現過ListFiles(),會把所有雲端硬碟上的檔案列出來,我們也確定操作GoogleDrive這段沒有問題。但我們今天的需求是要把收到的檔案傳到Go...

鐵人賽 SideProject30 DAY 22

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

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

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

技術 [Day30] Go in 30 - 系統與檔案 - 檔案讀取與寫入

一、 本篇提要 接下來會說明檔案的建立、和寫入,在此之前會需要先了解什麼是檔案權限。 檔案存取權限 建立與寫入檔案 os.OpenFile() 二、檔案存取...

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

技術 [Day29] Go in 30 - 系統與檔案 - flag 與 signals

一、本篇題要 這個主題將了解系統與檔案,像是介紹多種讀寫純文字檔和CSV格式檔案的方式,以及檔案的存取權限。我們會實作一個命令列應用程式,可以接收各種 flag...

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

技術 [ Day 23 ] Go 模板引擎:動態生成 HTML 頁面的魔法

在昨天的練習中,當我們使用 GET 請求時,並成功得到網站中的資料,我們都用是終端機查看回傳的資訊,雖然一樣可以達到查看資料的目的,但好像缺少了什麼!!這就不得...

鐵人賽 SideProject30 DAY 21

技術 Day21 Drive Service - 取出OAuth Token操作Drive

今天一開始我們先來調整一下我們之前對Expiry宣告的類型,昨天仔細看發現oauth官方的Token(oauth2.Token)結構如下: type Token...

鐵人賽 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....