Documentation
¶
Overview ¶
Parent DIR namespace features used in runtime path operations Provides namespace-like organization as parent DIR functions Enables clean API design with PARENT.Path(), PARENT.Join() patterns
父 DIR 命名空间功能,用于运行时路径操作 为父 DIR 相关函数提供类似命名空间的组织方式 实现清晰的 API 设计,支持 PARENT.Path()、PARENT.Join() 模式
Package runpath: Runtime path and execution location tracking engine Provides precise source code location tracking via Go's runtime package Supports path manipulation, extension handling, and parent DIR navigation Enables dynamic config file path construction based on execution context
runpath: 运行时路径获取和执行位置跟踪引擎 通过 Go 的 runtime 包提供精确的源代码位置跟踪 支持路径操作、扩展名处理和父 DIR 导航 基于执行上下文实现动态配置文件路径构建
Index ¶
- Variables
- func Current() string
- func CurrentName() string
- func CurrentPath() string
- func GetNox() string
- func GetPathChangeExtension(pointExtension string) string
- func GetPathRemoveExtension() string
- func GetRex(pointExtension string) string
- func GetSkipRemoveExtension(skip int) string
- func Name() string
- func Path() string
- func Skip(skip int) string
Constants ¶
This section is empty.
Variables ¶
var ( PARENT = &parentNamespace{} // Namespace instance as parent DIR operations // 父 DIR 操作的全局实例 DIR = &parentNamespace{} // Concise name as PARENT // PARENT 的同义词,更简单的名称 )
Namespace instances as parent DIR operations Since Go has no namespace concept, this provides organized API access
父 DIR 操作的全局命名空间实例 由于 Go 缺乏命名空间概念,这提供了有组织的 API 访问
Functions ¶
func Current ¶
func Current() string
Current returns the source file path at the invocation site Since the package name is runpath, it means "run path of this code" Kept concise and simple to use
Current 获得当前源码文件路径 因为包名是 runpath,Current 的含义就是 "current run path" 保持简洁便于使用
func CurrentName ¶
func CurrentName() string
CurrentName returns the source file name at the invocation site Gets just the filename without the DIR path
CurrentName 获得当前源码文件名称 仅获取文件名,不包含 DIR 路径
func CurrentPath ¶
func CurrentPath() string
CurrentPath returns the source file path at the invocation site Same as Current, with a more explicit name
CurrentPath 获得当前源码文件路径 Current 的替代版本,提供给喜欢明确命名的用户
func GetNox ¶
func GetNox() string
GetNox returns the source file path without extension Removes the .go suffix from the file path
GetNox 返回不带扩展名的当前源文件路径 从当前文件路径中移除 .go 后缀
func GetPathChangeExtension ¶
GetPathChangeExtension changes the source file extension at invocation site Removes .go suffix and adds new extension like ".xxx.zzz" Common use: in config.go, get config.json path to load configuration Can add ".json", "_dev.json", "_uat.json" to match different environments This function is the backbone of dynamic config file loading
GetPathChangeExtension 把当前源码的文件路径去除结尾.go,再增加新的结尾 可以增加 ".xxx.yyy.zzz" 等任意扩展名 常见用途:在 config.go 里获取 config.json 的路径来读取配置 可以增加 ".json"、"_dev.json"、"_uat.json" 用于不同环境 这个函数对动态配置文件加载非常重要
func GetPathRemoveExtension ¶
func GetPathRemoveExtension() string
GetPathRemoveExtension removes the .go extension from the source file path Less used but kept as a complete API
GetPathRemoveExtension 把当前源码的文件路径去除结尾.go 使用频率较低但保留以保持完整性
func GetRex ¶
GetRex is a concise name of GetPathChangeExtension Changes the source file extension with a new one
GetRex 是 GetPathChangeExtension 的简短别名 更改当前源文件的扩展名
func GetSkipRemoveExtension ¶
GetSkipRemoveExtension removes the .go extension with specified frame skip count
GetSkipRemoveExtension 返回指定调用帧跳过的去除 .go 扩展名的源文件路径
func Name ¶
func Name() string
Name returns the runtime source file name Gets just the filename at execution location
Name 获得运行时的源码文件名称 获取执行位置的文件名
func Path ¶
func Path() string
Path returns the runtime source file path at execution location Gets the absolute path of the invoking source file
Path 获得运行时的源码文件路径 获取调用源文件的绝对路径
func Skip ¶
Skip returns the runtime source location with specified frame skip count When skip=0, returns the invoking point's path The skip argument represents skips from the invocation position Skip(1) equals runtime.Caller(1)'s path at the same position Skip(2) equals runtime.Caller(2)'s path at the same position
Skip 获得运行时的源码位置 当传0的时候就是调用点的路径 核心原则:实参 skip 是调用位置的 skip 次数 Skip(1) 相当于在相同位置调用 runtime.Caller(1) 的路径 Skip(2) 相当于在相同位置调用 runtime.Caller(2) 的路径
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
demos/demo1x
command
|
|
|
demos/demo2x
command
|
|
|
demos/demo3x
command
|
|
|
examples/example1/locate
Package locate replicates runpath's parentNamespace and Skip function without mustAbsPath protection.
|
Package locate replicates runpath's parentNamespace and Skip function without mustAbsPath protection. |
|
Package runtestpath: Test-specific runtime path utilities used in source file finding Enables finding source files from test files during test execution To get test file path, use runpath.Path() instead This package specializes in finding source files being tested Each function takes *testing.T to indicate test-exclusive usage
|
Package runtestpath: Test-specific runtime path utilities used in source file finding Enables finding source files from test files during test execution To get test file path, use runpath.Path() instead This package specializes in finding source files being tested Each function takes *testing.T to indicate test-exclusive usage |