説明
					ZIPファイル内にあるのがディレクトリかファイルかを調べるにはarchive/zipパッケージを読み込ませます。その後、zip.OpenReader()を使ってファイル数を取得したいZIPファイルのパスを指定します。zip.OpenReader()の戻り値は多値になっています。ZIPファイルを正しく解析できた場合は最初の戻り値にファイルの情報を格納した配列が返されます。配列なのでlen()メソッドを使えばZIPファイル内に保存されているファイルの総数を求めることができます。次にファイルの総数分だけforを使って繰り返します。
					zip.OpenReader()によって得られたファイル情報はFile配列に入っており、最初にファイルモード(パーミッション等)を取得します。ファイルモードはMode()で取得することができます。Mode()の戻り値はos.FileModeの形式になっています。FileModeにはディレクトリかどうかを返すIsDir()があります。これをMode()の後に列記します。戻り値はtrueならディレクトリ、falseならファイルになります。
				
			
					
					
package main
import (
	"fmt"
	"os"
	"archive/zip"
)
func main() {
	fdata, err := zip.OpenReader("/data/flower.zip")
	if err != nil {
		os.Exit(1)
	}
	defer fdata.Close()
	for i := 0; i<len(fdata.File); i++ {
		f := fdata.File[i].Name
		d := fdata.File[i].Mode().IsDir()
		fmt.Printf("%s : %v\n", f, d)
	}
}
			 
			
					実行結果