La diferencia entre t y * t
package main
import "fmt"
type TT struct {
a int
b float32
c string
}
func (t *TT) String() string {
return fmt.Sprintf("%+v", *t)
}
func main() {
tt := &TT{3, 4, "5"}
fmt.Printf(tt.String())
}
El código puede funcionar bien. Pero si cambio elString
método como en el siguiente, causará bucle muerto. La diferencia es que el*t
se reemplaza cont
. ¿Por qué?
func (t *TT) String() string {
return fmt.Sprintf("%+v", t)
}