markbates / pkger

Embed static files in Go binaries (replacement for gobuffalo/packr)
MIT License
1.19k stars 60 forks source link

"Write" not work #147

Open lysShub opened 3 years ago

lysShub commented 3 years ago
//go:generate pkger
package main

import (
    "fmt"
    "time"

    "github.com/markbates/pkger"
    "github.com/markbates/pkger/pkging"
)

func main() {
    var err error
    Dir := pkger.Include("/static/run.log")

    var f pkging.File
    if f, err = pkger.Open(Dir); err != nil {
        fmt.Println(err)
        return
    }
    if _, err = f.Write([]byte("bbb")); err != nil {
        fmt.Println(err)
        return
    }
    f.Close()

    fmt.Println("write end")
    time.Sleep(time.Second * 3)

    var f2 pkging.File
    if f2, err = pkger.Open(Dir); err != nil {
        fmt.Println(err)
        return
    }
    var da []byte = make([]byte, 100)
    if n, err := f2.Read(da); err != nil {
        fmt.Println(err)
        return
    } else {
        fmt.Println(string(da[:n]))
    }
    f2.Close()

}
go generate
go build -o run.exe
run
// echo
// aaa