Files
convertroman/README.md
T
2021-04-02 18:36:07 -05:00

65 lines
1.6 KiB
Markdown

# Go Roman Numerals
[![Go Reference](https://pkg.go.dev/badge/github.com/brandenc40/romannumeral.svg)](https://pkg.go.dev/github.com/brandenc40/romannumeral)
[![codecov](https://codecov.io/gh/brandenc40/romannumeral/branch/master/graph/badge.svg?token=AS7IBSTE36)](https://codecov.io/gh/brandenc40/romannumeral)
Quickly and efficiently convert to and from roman numerals in Go.
### Benchmark Results
```sh
goos: darwin
goarch: arm64
pkg: github.com/brandenc40/romannumeral
BenchmarkIntToString-8 18160285 66.43 ns/op 24 B/op 2 allocs/op
BenchmarkIntToBytes-8 18630670 63.68 ns/op 24 B/op 2 allocs/op
BenchmarkStringToInt-8 17537406 67.26 ns/op 0 B/op 0 allocs/op
BenchmarkBytesToInt-8 18248730 64.83 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/brandenc40/romannumeral 6.283s
```
### Example
```go
package main
import (
"fmt"
rom "github.com/brandenc40/romannumeral"
)
func ExampleStringToInt() {
integer, err := rom.StringToInt("IV")
if err != nil {
panic(err)
}
fmt.Println(integer == 4) // True
}
func ExampleBytesToInt() {
integer, err := rom.BytesToInt([]byte("IV"))
if err != nil {
panic(err)
}
fmt.Println(integer == 4) // True
}
func ExampleIntToString() {
roman, err := rom.IntToString(4)
if err != nil {
panic(err)
}
fmt.Println(roman == "IV") // True
}
func ExampleIntToBytes() {
roman, err := rom.IntToBytes(4)
if err != nil {
panic(err)
}
fmt.Println(string(roman) == "IV") // True
}
```