Я написал пример приложения о назначении значения переменной. Посмотрите следующий фрагмент кода:Тип структуры immtable
package main
import (
"fmt"
)
func main() {
cp := 344
fmt.Println(cp)
cp = 566565
fmt.Println(cp)
res := []struct {
Email string `json:"n.email"`
Activated bool `json:"n.activated"`
}{}
fmt.Println(res)
res = []struct {
Email string `json:"n.email"`
}{}
fmt.Println(res)
}
Первая переменная cp, я назначаю значение, после чего повторю это, и оно работает. В конце cp имеет значение 566565. Для меня int mutable.
Второй код не работает, переназначить новую структуру для res, я получил ошибку компилятора.
./double_assignment.go:23: не можешь использовать [] {структуру E-mail строку} буквальных (типа [] STRUCT {} строка E-mail) как тип [] STRUCT {E-mail строку; Активированный bool} при назначении
Является ли структура неизменяемой?
Зачем нужна переменная? –
@zero_coding Поскольку res уже имеет определенный тип: вы не можете назначить ему объект другого типа. – VonC
Я такой глупый. Спасибо. –