參考資訊:
https://github.com/veandco/go-sdl2
https://github.com/veandco/go-sdl2-examples
https://pkg.go.dev/github.com/veandco/go-sdl2#section-readme
初始化
$ go version go version go1.24.4 linux/amd64 $ go mod init main
main.go
package main import ( "io/ioutil" "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" ) func main() { sdl.Init(sdl.INIT_EVERYTHING); defer sdl.Quit() window, _ := sdl.CreateWindow("main", 0, 0, 320, 240, sdl.WINDOW_SHOWN); defer window.Destroy() screen, _ := window.GetSurface() ttf.Init() data, _ := ioutil.ReadFile("main.ttf") rwops, _ := sdl.RWFromMem(data) font, _ := ttf.OpenFontRW(rwops, 1, 30) text, _ := font.RenderUTF8Blended("司徒的教學網站", sdl.Color{R: 0, G: 255, B: 0, A: 255}) text.Blit(nil, screen, nil) window.UpdateSurface() defer font.Close() defer text.Free() sdl.Delay(3000) }
執行
$ go mod tidy $ go run -v main.go