A simple package to assist with name data.
$ go get -u github.com/Guitarbum722/names
Load default titles, prefixes and suffixes. Initialize with a full name, then use name fields.
package main
import (
"fmt"
"github.com/Guitarbum722/names"
)
func main() {
names.LoadTitleData() // Load default titles, prefixes and suffixes
n := names.New("Donald J. Trump")
n.SeparateName(" ")
fmt.Printf("First: %v : Mid: %v : Last: %v", n.First, n.Middle, n.Last)
}
...or pass a bytes.Buffer from a CSV of your choice
if err := names.LoadTitleDataCSV(bytes.NewBuffer([]byte("Mrs.,p\nMr.,p")); err != nil {
log.Fatal(err, " ::: Ah man, wasn't able to load your file.")
}
Get the initials for the name.
// include periods
fmt.Println(n.Initials(true)) // D.J.T.
// exclude periods
fmt.Println(n.Initials(false)) // DJT