Sobes.tech
Junior

Go tilida to'plam (set) qanday amalga oshiriladi?

sobes.tech AI

AIdan javob

Go tilida "to'plam" deb nomlangan ichki ma'lumot turi mavjud emas. Uni map yordamida amalga oshirish mumkin.

// Stringlar to'plamini amalga oshirish
type Set map[string]struct{}

// Element qo'shish
func (s Set) Add(item string) {
	s[item] = struct{}{} // Qo'shimcha xotira sarflamaslik uchun struct{} dan foydalanamiz
}

// Elementni o'chirish
func (s Set) Remove(item string) {
	delete(s, item)
}

// Element mavjudligini tekshirish
func (s Set) Contains(item string) bool {
	_, ok := s[item]
	return ok
}

// Barcha elementlarni olish (tartibsiz)
func (s Set) ToSlice() []string {
	slice := make([]string, 0, len(s))
	for item := range s {
		slice = append(slice, item)
	}
	return slice
}