Middle — Senior
როგორ შევაერთოთ სია ჯოინების გამოყენების გარეშე?
sobes.tech AI
პასუხი AI-სგან
Join-ის გამოყენების გარეშე ორი სიის გაერთიანება შესაძლებელია მათი უბრალოდ კონკატენაციით ან ერთ სიაში არსებული ელემენტების დამატებით მეორეში. Go-ში ეს კეთდება ფუნქცია append-ის გამოყენებით.
ორ სლაის გაერთიანების მაგალითი:
list1 := []int{1, 2, 3}
list2 := []int{4, 5, 6}
combined := append(list1, list2...)
// combined ახლა შეიცავს [1 2 3 4 5 6]
თუ გსურთ სიის გაერთიანება დუბლიკატების ამოღებით, შეგიძლიათ გამოიყენოთ რუკა უნიკალური ელემენტების დასათვლელად:
func mergeUnique(a, b []int) []int {
m := make(map[int]bool)
var result []int
for _, v := range a {
if !m[v] {
m[v] = true
result = append(result, v)
}
}
for _, v := range b {
if !m[v] {
m[v] = true
result = append(result, v)
}
}
return result
}
ამგვარად, სიის გაერთიანება join-ის გარეშე მარტივია — უბრალოდ ელემენტების დამატება და საჭიროების შემთხვევაში უნიკალური მნიშვნელობების ფილტრაცია.