Что значит объявлять struct с помощью var?

#go

#Вперед

Вопрос:

Я обнаружил, что struct определено в исходном коде пакета, подобного этому:

 var resp struct {
    CreateTodo struct{ ID string }
}
  

Я всегда определяю struct следующим образом:

 type resp struct {
    CreateTodo struct{ ID string }
}
  

Я никогда этого не видел. После поиска я нашел только документ об этом. Но нет объяснения его значения.
Итак, в чем разница между type xxx struct {} и var xxx struct {} ? Когда и как я должен использовать var xxx struct {} ? Спасибо.

Комментарии:

1. type xxx объявляет новый тип, var xxx объявляет новую переменную.

2. @zerkms Я понял. Это объявление переменной resp , тип которой является анонимной структурой

Ответ №1:

Это объявляет переменную resp , типом которой является (анонимная) struct.

Комментарии:

1. Я понял. Это то же самое, что и var resp string , но здесь resp тип s — это (анонимная) структура.

2. Дополнительная информация: talks.golang.org/2015/tricks.slide#6