將環境變數新增至~/.zshrc
2025/03/01
使用 Go Lang 撰寫一個 SSE(Server-Sent Events) Testing Server
package main
import (
"fmt"
"log"
"net/http"
"time"
)
func sseHandler(w http.ResponseWriter, r *http.Request) {
// 設置 SSE 頭
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
// 強制刷新,以保持連接
flusher, ok := w.(http.Flusher)
if !ok {
log.Fatal("Server does not support HTTP streaming.")
}
// 連接時顯示訊息
log.Printf("新用戶連接:%s", r.RemoteAddr)
// 模擬逐步發送 SSE 資料
for i := 1; i <= 3; i++ {
// 顯示正在發送資料
log.Printf("開始發送第 %d 條資料", i)
// 模擬 SSE 資料
fmt.Fprintf(w, "data: 第一段資料 %d\n\n", i)
flusher.Flush() // 刷新資料
time.Sleep(3 * time.Second) // 模擬延遲
}
// 完成 SSE 流
fmt.Fprintf(w, "data: SSE 流結束\n\n")
flusher.Flush()
// 完成後顯示訊息
log.Printf("完成發送資料給 %s", r.RemoteAddr)
}
func main() {
http.HandleFunc("/sse", sseHandler)
log.Println("伺服器啟動,請訪問 http://localhost:8080/sse")
log.Fatal(http.ListenAndServe(":8080", nil))
}
2016/05/25
OS X Visual Studio Code 添加 Go extension
還沒有將GOPATH加入環境變數的可以先參考小弟寫的『OS X El Capitan 10.11.4 Add path variable』
接著開啟Visual Studio Code,按下『Command + Shift + P』輸入
在安裝extension同時,開啟Terminal並輸入下方指令將套件加入到Go
接著開啟Visual Studio Code,按下『Command + Shift + P』輸入
ext install go
在安裝extension同時,開啟Terminal並輸入下方指令將套件加入到Go
2013/09/22
Go language!
Go語言是由Robert Griesemer和Rob Pike與Ken Thompson,這三位的最後一位算是一位蠻牛的人!
他與另外一位Dennis Ritchie設計了B語言以及C語言,也創造了unix作業系統!!
B語言是什麼?B語言就是C語言的前身
Dennis Ritchie是誰,他可是著名的C語言之父欸!這世界如果沒有Dennis Ritchie與Ken Thompson創造出C語言,我們應該在寫組譯語言吧XD
不過Ken Thompson在Google工作可能也是遲早的吧!不過當初的貝爾實驗室培育出了許多人才的搖籃啊!
以上都是題外話,相信這次Ken Thompson設計的Go語言能夠改變現今的程式語言風潮,以下是2013程式語言前十名的排行榜
雖然Go語言沒有在前十名內,不過我仍看好Go語言未來的影響力!大牛出手,一定支持!
他與另外一位Dennis Ritchie設計了B語言以及C語言,也創造了unix作業系統!!
B語言是什麼?B語言就是C語言的前身
Dennis Ritchie是誰,他可是著名的C語言之父欸!這世界如果沒有Dennis Ritchie與Ken Thompson創造出C語言,我們應該在寫組譯語言吧XD
不過Ken Thompson在Google工作可能也是遲早的吧!不過當初的貝爾實驗室培育出了許多人才的搖籃啊!
以上都是題外話,相信這次Ken Thompson設計的Go語言能夠改變現今的程式語言風潮,以下是2013程式語言前十名的排行榜
雖然Go語言沒有在前十名內,不過我仍看好Go語言未來的影響力!大牛出手,一定支持!
訂閱:
文章 (Atom)