# use-go-identifier
ASCII-safe Go identifier primitives for `RustUse`.
## Experimental
`use-go-identifier` is experimental while `use-go` remains below `0.3.0`.
## Example
```rust
use use_go_identifier::{GoExportedIdentifier, GoIdentifier, is_valid_ascii_go_identifier};
let identifier = GoIdentifier::new("ServeHTTP")?;
let exported = GoExportedIdentifier::new("ServeHTTP")?;
assert_eq!(identifier.as_str(), "ServeHTTP");
assert_eq!(exported.as_str(), "ServeHTTP");
assert!(is_valid_ascii_go_identifier("handler_1"));
# Ok::<(), use_go_identifier::GoIdentifierError>(())
```
## Scope
- Ordinary ASCII-safe Go identifier validation.
- Exported identifiers that start with an uppercase ASCII letter.
- Unexported identifiers that start with a lowercase ASCII letter or underscore.
## Non-goals
- Complete Unicode Go identifier validation.
- Keyword or predeclared identifier checks.
- Go source-code parsing.
Unicode-complete Go identifier validation is future work.
## License
Licensed under either Apache-2.0 or MIT.