Sha*_*ajK 3 windows smb mount system-calls go

.GetFileAttributes"syscall"

使用下面的方法来获取文件

   err := filepath.Walk(prefix, func(docPath string, f os.FileInfo, err error) error {

以下是我尝试检测隐藏文件的方法

import (
  "runtime"
  "syscall"
)

func IsHiddenFile(filename string) (bool, error) {

if runtime.GOOS == "windows" {
    pointer, err := syscall.UTF16PtrFromString(filename)
    if err != nil {
        return false, err
    }
    attributes, err := syscall.GetFileAttributes(pointer)
    if err != nil {
        return false, err
    }
    return attributes&syscall.FILE_ATTRIBUTE_HIDDEN != 0, nil
} else {
    // unix/linux file or directory that starts with . is hidden
    if filename[0:1] == "." {
        return true, nil
    }
}
return false, nil
Run Code Online (Sandbox Code Playgroud)

}

错误 :

.../ undefined: syscall.UTF16PtrFromString
.../ undefined: syscall.GetFileAttributes
.../ undefined: syscall.FILE_ATTRIBUTE_HIDDEN
Run Code Online (Sandbox Code Playgroud)
// +build windows

我需要知道go是否提供了一些通用的方法来检测文件是否隐藏?或者有没有一种方法可以获取某个已安装目录中的所有文件/文件夹,而无需首先接收隐藏文件?

真的很期待在这里收到一些反馈,谢谢。