net/httpパッケージを使えば良い net/httpのDetectContentType関数を使うと楽だ。 実装はここ。 例 標準入力からファイルを読み込み、MIME Typeを出力する簡易なスクリプトを書く。 package main import ( "fmt" "io/ioutil" "net/http" "os" ) func main() { bytes, err := ioutil.ReadAll(os.Stdin) if err != nil { panic(err) } mimeType := http.DetectContentType(bytes) fmt.Printf("MIME Type: %s\n", mimeType) }