func is_file(str string) bool {
	fmt.Println(str)
	f, err := os.Open(str)
	if err != nil {
		return false
	}
	fi, err := f.Stat()
	if err != nil {
		return false
	}
	if fi.Mode().IsDir() {
		return false
	}
	return true
}
@brief is_file Check a filename is a file.

@param filename The filename input.

@return 1 for yes and -1 for no.
package gimg
import (
	"crypto/md5"
	"encoding/hex"
	"fmt"
	"math"
	"os"
	_ "reflect"
	"regexp"
	"runtime"
	"strconv"
	"strings"
)
import "C"  
import "unsafe"
func str_hash(str string) int {
	b := []byte(str)
	c := b[0:3]
	cc := C.CString(string(c))
	defer C.free(unsafe.Pointer(cc))
	d := C.strtol(cc, C.EMPTY, 16)
	d = d / 4
	return int(d)
}
func is_md5(str string) bool {
	regular := `^([0-9a-zA-Z]){32}$`
	regx := regexp.MustCompile(regular)
	return regx.MatchString(str)
}
func delete_file(path string) bool {
	os.RemoveAll(path)
	return true
}