I have a quick doubt about Go types.
type mystr string
var s1 mystr = "abc"
var s2 string = "abc"
Here s1 always takes string type which is similar to s2. My question is, why defining such types are allowed (which are of primitive types) in Go. When I can't even compare s1 to s2
if s1 == s2 // compilation error
What can be the use case to such scenario?