If you're picking between many options, a type switch might be cleaner.
switch val := someInterface.(type) {
case SomeType:
....
case SomeOtherType:
doSomethingWith(val.SomeField)
}
I suggest you read the documentation on
golang.org. You can pretty
much learn everything you need to know about Go by reading the
language specification, effective go, and the various FAQ. It also
might be a good idea, once you've mastered the syntax, to read the
package documentation (not all of it, but anything you're interested
in).