@Whos

Как вставить экземпляр в массив?

Добрый день. Я новичок в Go, поэтому вопрос может звучать странно.
Имеется структура пользователя, я по ней создаю новый экземляр. Как мне этот экземпляр вставить в массив (скорее в slice или map), чтобы я в дальнейшем мог обратиться к нему через Users[ид пользователя]? Для наглядности покажу пример кода
package main

type User struct {
	ID int
	Name    string
}

/// var Users ???

func main() {
	newUser := User{15, "Test"}

	// Тут нужно вставить newUser в Users, чтобы в дальнейшем я мог обратиться к нему через Users[15] (в т.ч. и  Users[15][Name]). И как его в дальнешйем удалить оттуда?
}
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 3
akelsey
@akelsey
Лучше конечно посмотреть и пройти курс хотя бы на степике, а код будет таким:
spoiler

package main

import "fmt"

type User struct {
	ID   int
	Name string
}

// / var Users ???
var Users []User

func main() {
	newUser := User{15, "Test"}
	// Тут нужно вставить newUser в Users, чтобы в дальнейшем я мог обратиться к нему через Users[15] (в т.ч. и  Users[15][Name]). И как его в дальнешйем удалить оттуда?
	Users = append(Users, newUser)
	fmt.Println(Users)
}
Ответ написан
Комментировать
@igor6130
users := []User

newUser := User{15, "Test"}

users = append(users, newUser)
Ответ написан
Комментировать
@Whos Автор вопроса
Ваши способы не позволяют обращаться к Users[15]. У меня получилось сделать это следующим вариантом:
package main

type User struct {
	ID   int
	Name string
}

var Users = map[int]User{}

func main() {
	newUser := User{15, "Test"}
	Users[15] = newUser
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы