# use-go-package
Go package metadata primitives for `RustUse`.
## Experimental
`use-go-package` is experimental while `use-go` remains below `0.3.0`.
## Example
```rust
use use_go_package::{GoPackageName, GoPackagePath, GoPackageVisibility};
let name = GoPackageName::new("http")?;
let path = GoPackagePath::new("net/http")?;
assert_eq!(name.as_str(), "http");
assert_eq!(path.as_str(), "net/http");
assert_eq!(GoPackageVisibility::Public.to_string(), "public");
# Ok::<(), use_go_package::GoPackageError>(())
```
## Scope
- Go package names and slash-separated package paths.
- Package visibility, layout, and file-kind labels.
- Metadata-only package descriptors.
## Non-goals
- Parsing Go source files.
- Resolving packages or imports.
- Enforcing all Go compiler package-name rules.
## License
Licensed under either Apache-2.0 or MIT.