現在のコードページの文字形式ではなくて、本当に ShiftJIS 固定となるので、日本語特化のアプリとなるが
package main import ( "fmt" "os" "path/filepath" "golang.org/x/text/encoding/japanese" ) const fname = "search.lst" func main1() error { fd, err := os.OpenFile(fname, os.O_CREATE|os.O_EXCL, 0666) if err != nil { return err } defer fd.Close() w := japanese.ShiftJIS.NewEncoder().Writer(fd)
となる。O_EXCL はただの上書き禁止オプションで SJIS とは直接の関係はない。