# use-go-mod
`go.mod` metadata primitives for `RustUse`.
## Experimental
`use-go-mod` is experimental while `use-go` remains below `0.3.0`.
## Example
```rust
use use_go_mod::{GoModDirective, GoModFile, GoModModuleDirective};
use use_go_module::GoModulePath;
let module = GoModModuleDirective::new(GoModulePath::new("example.com/project")?);
let file = GoModFile::new().with_directive(GoModDirective::Module(module));
assert_eq!(file.directives().len(), 1);
# Ok::<(), use_go_module::GoModuleError>(())
```
## Scope
- `go.mod` directive metadata.
- Module, Go, toolchain, require, replace, exclude, and retract directive models.
- Metadata-only structures built from focused Go version and module primitives.
## Non-goals
- Complete `go.mod` parsing.
- Module resolution.
- Shelling out to `go mod`.
- Contacting module registries or proxies.
## License
Licensed under either Apache-2.0 or MIT.