顯示具有 Go 標籤的文章。 顯示所有文章
顯示具有 Go 標籤的文章。 顯示所有文章

2025/03/01

Go + Microsoft Speech SDK:在 macOS 上的環境配置與編譯指南

將環境變數新增至~/.zshrc

使用 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』輸入

ext install go



在安裝extension同時,開啟Terminal並輸入下方指令將套件加入到Go

2013/09/22

Go language!

Go語言是由Robert GriesemerRob PikeKen Thompson,這三位的最後一位算是一位蠻牛的人!
他與另外一位Dennis Ritchie設計了B語言以及C語言,也創造了unix作業系統!!
B語言是什麼?B語言就是C語言的前身

Dennis Ritchie是誰,他可是著名的C語言之父欸!這世界如果沒有Dennis RitchieKen Thompson創造出C語言,我們應該在寫組譯語言吧XD


不過Ken Thompson在Google工作可能也是遲早的吧!不過當初的貝爾實驗室培育出了許多人才的搖籃啊!


以上都是題外話,相信這次Ken Thompson設計的Go語言能夠改變現今的程式語言風潮,以下是2013程式語言前十名的排行榜



雖然Go語言沒有在前十名內,不過我仍看好Go語言未來的影響力!大牛出手,一定支持!