Cadena inmutable y dirección de puntero

En irEspecificaciones está escrito:

Las cadenas son inmutables: una vez creadas, es imposible cambiar el contenido de una cadena.

Tengo el siguiente código:

str := "hello"
fmt.Printf("%p\n",&str) // 0x1040c128
fmt.Printf("%v\n",str) // hello
ptr := &str
*ptr = "world"
fmt.Printf("%p\n",&str) // 0x1040c128
fmt.Printf("%v\n",str) // world  

Hubiera esperado&str la dirección fue cambiada después*ptr = "world". Como sucedería con Java, donde reasignamos referencias de String.

¿Qué es la 'inmutabilidad' aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta