I came to the comments section to ask the same question. I&#x27;ve always liked the idea of reflection but avoided it because of performance scares (and usually I can solve the problem another way).<p>Since we&#x27;re discussing the performance footprint of regular expression libraries, it&#x27;s also worth mentioning how slow even just running the base regexp library can be. For example, the email example could also be written without regex:<p><pre><code>    indices := strings.Split(&quot;joe@example.com&quot;, &quot;@&quot;)
    fmt.Println(&quot;Name:&quot;, indices[0])
    fmt.Println(&quot;Domain:&quot;, indices[1])
</code></pre>
( <a href="https:&#x2F;&#x2F;play.golang.org&#x2F;p&#x2F;ZezcoBjc9v" rel="nofollow">https:&#x2F;&#x2F;play.golang.org&#x2F;p&#x2F;ZezcoBjc9v</a> )<p>Obviously the above code doesn&#x27;t do any sanity checks - which is where regular expressions can often make things easier. But the above would run a lot faster than a regexp pattern match.