What is the difference between Go's type assertion and type conversion for type checking and conversion in Go?