社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
everything
程序。go build -tag ASCII
时编译ascii
相关接口,否则编译unicode
接口。examples/search.go
示例代码。go1.17
才有的特性。下面是示例代码:
package main
import (
"fmt"
"os"
"github.com/jan-bar/es"
)
func main() {
if len(os.Args) < 2 {
fmt.Printf("usage:%s test.txtn", os.Args[0])
return
}
err := es.EverythingSetSearch(os.Args[1])
if err != nil {
panic(err)
}
err = es.EverythingSetMax(5)
if err != nil {
panic(err)
}
// 设置好需要查询的内容,不然后续遍历时可能报错
err = es.EverythingSetRequestFlags(es.EverythingRequestFileName | es.EverythingRequestPath |
es.EverythingRequestDateCreated | es.EverythingRequestDateModified | es.EverythingRequestDateAccessed |
es.EverythingRequestSize)
if err != nil {
panic(err)
}
// 定好排序规则
err = es.EverythingSetSort(es.EverythingSortDateModifiedAscending)
if err != nil {
panic(err)
}
// 开始查询
fmt.Println("EverythingQuery:", es.EverythingQuery(true))
// 得到查询结果个数
num, err := es.EverythingGetNumResults()
fmt.Println("EverythingGetNumResults", num, err)
for i := uint32(0); i < num; i++ {
fmt.Println("---------------------------------------------------")
s, err := es.EverythingGetResultSize(i)
fmt.Printf("FileSize:[%d],%vn", s, err)
p, err := es.EverythingGetResultFullPathName(i)
fmt.Printf("FullPathName:[%s],%vn", p, err)
p, err = es.EverythingGetResultFileName(i)
fmt.Printf("FileName:[%s],%vn", p, err)
t, err := es.EverythingGetResultDateCreated(i)
fmt.Printf("DateCreated:[%s],%vn", t, err)
t, err = es.EverythingGetResultDateModified(i)
fmt.Printf("DateModified:[%s],%vn", t, err)
t, err = es.EverythingGetResultDateAccessed(i)
fmt.Printf("DateAccessed:[%s],%vn", t, err)
}
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!