以下常用方法列表,文档更新可能滞后于代码新特性,更多的方法及示例请参考代码文档:https://pkg.go.dev/github.com/gogf/gf/v2/os/gres
Add
将content
解压并添加到默认资源对象。prefix
是非必要参数,表示存储到当前资源对象中的每个文件的前缀。 func Add(content string, prefix ...string) error
package main
import "github.com/gogf/gf/v2/os/gres"
func main() {
//content内容过长已省略
if err := gres.Add("......"); err != nil {
panic("add binary content to resource manager failed: " + err.Error())
}
}
Load
加载、解压并将路径为path
的文件数据读取到默认资源对象中。prefix
是非必要参数,表示存储到当前资源对象中的每个文件的前缀。 func Load(path string, prefix ...string) error
package main
import "github.com/gogf/gf/v2/os/gres"
func main() {
if err := gres.Load("../res/myfile"); err != nil {
panic("load binary content to resource manager failed: " + err.Error())
}
}
Get
返回指定路径的文件。
func Get(path string) *File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
file := gres.Get("../res/myfile")
if file == nil {
glog.Error(gctx.New(), "get file failed!")
return
}
fmt.Println("Get File Name:", file.Name())
}
GetWithIndex
用给定路径path
搜索文件,如果文件是目录,那么它会在这个目录下进行索引文件搜索。 GetWithIndex
通常用于http
静态文件服务。
func GetWithIndex(path string, indexFiles []string) *File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
file := gres.GetWithIndex("../res", []string{"myfile", "myconfig"})
if file == nil {
glog.Error(gctx.New(), "get file failed!")
return
}
fmt.Println("Get File Name:", file.Name())
}
GetContent
在默认资源对象中直接返回路径为path
的内容。
func GetContent(path string) []byte
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
fileContent := gres.GetContent("../res/myfile")
fmt.Println("Get File Content:", fileContent)
}
Contains
检查路径为path
的资源是否存在于默认资源对象中。
func Contains(path string) bool
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
if gres.Contains("../res/myfile") {
fmt.Println("myfile is exist!")
} else{
fmt.Println("myfile is not exist!")
}
}
IsEmpty
检查并返回资源管理器是否为空。
func IsEmpty() bool
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
fmt.Println(gres.IsEmpty())
gres.Add("xxxxxxxxxxxxxxxxx")
fmt.Println(gres.IsEmpty())
// Output:
// true
// false
}
ScanDir
返回给定路径下的文件,参数path
应该是文件夹类型。参数pattern
支持多个文件名模式,使用,
符号分隔多个模式。如果参数recursive
为true
,它会递归地扫描目录。
func ScanDir(path string, pattern string, recursive ...bool) []*File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
files := gres.ScanDir("../res", "*.doc,*.go", true)
if len(files) > 0 {
for _, file := range files {
fmt.Println("ScanDir Result:", file.Name())
}
}
}
ScanDirFile
返回所有具有给定path
的绝对路径的子文件,如果参数recursive
为true
,则会递归扫描目录。
func ScanDirFile(path string, pattern string, recursive ...bool) []*File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
files := gres.ScanDirFile("../res", "*.*", true)
if len(files) > 0 {
for _, file := range files {
fmt.Println("ScanDirFile Result:", file.Name())
}
}
}
Export
将指定路径src
及其所有子文件递归保存到指定的系统路径dst
。
func Export(src, dst string, option ...ExportOption) error
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
err := gres.Export("../res/src", "../res/dst")
if err != nil {
fmt.Println("gres.Export Error:", err)
}
}
Dump
打印默认资源对象的文件。
func Dump()
package main
import (
"github.com/gogf/gf/v2/os/gres"
)
func main() {
gres.Add("xxxxxxxxx")
gres.Dump()
}
基本介绍GoFrame框架提供了常用的I18N国际化组件,由gi18n模块实现。使用方式:import "github.com/gogf/gf/v2/i18n...
基本介绍并发安全基本类型。使用场景:gtype使用得非常频繁,任何需要并发安全的场景下都适用。在普通的并发安全场景中,一...
基本使用package mainimport ("github.com/gogf/gf/v2/container/gpool""fmt""time")func main () {// 创建一个对象池,过期时间...
每个视图必须要做的只有两件事:返回一个包含被请求页面内容的 HttpResponse 对象,或者抛出一个异常,比如 Http404 。...