Перейти к содержимому

TSUM / ЦУМ

Задача: Нужно реализовать функцию, которая выполняет поиск query во всех переданных SearchFunc. Когда получаем первый успешный результат - отдаем его сразу, не дожидаясь результата других SearchFunc. Если все SearchFunc отработали с ошибкой - отдаем последнюю полученную ошибку go/errors-panic

Заголовок раздела «Задача: Нужно реализовать функцию, которая выполняет поиск query во всех переданных SearchFunc. Когда получаем первый успешный результат - отдаем его сразу, не дожидаясь результата других SearchFunc. Если все SearchFunc отработали с ошибкой - отдаем последнюю полученную ошибку go/errors-panic»
type Result struct{}
type SearchFunc func(ctx context.Context, query string) (Result, error)
func MultiSearch(ctx context.Context, query string, sfs []SearchFunc) (Result, error) {
// Write here
}
func main() {
var m map[string]int
for _, word := range []string{"hello ", "world ", "from ", "the ", "best ", "language ", "in ", "the ", "world "} {
m[word]++
}
for k, v := range m {
fmt.Println(k, v)
}
fmt.Println(m)
}
type MyContainer struct {
int A
}
func main() {
arr := []MyContainer{
{A: 1}, {A: 2}, {A: 3},
}
modify(arr)
for _, elm := range arr {
fmt.Sprintf("%s;", elm)
}
}
func modify(arr []MyContainer) {
arr[0].A = 10
arr = append(arr, MyContainer{A: 4}, MyContainer{A: 5})
}

Задача: Для пользователей у которых более одного профиля вывести id пользователя и id профилей sql/general

Заголовок раздела «Задача: Для пользователей у которых более одного профиля вывести id пользователя и id профилей sql/general»
-- База данных: PostgreSQL
CREATE TABLE users (
id serial,
username varchar(30),
email varchar(30),
is_active boolean,
created_at timestamp
);
-- SELECT \* FROM users;
id | username | email | is_active | created_at
----+----------------+-------+-----------+------------
1 | первый | | |
2 | второй | | |
3 | третий | | |
4 | четвертый | | |
(4 rows)
CREATE TABLE profiles (
id serial,
user_id integer,
first_name varchar(30),
last_name varchar(30),
gender integer, -- значения: 0, 1, 2
birthdate date
);
-- SELECT \* FROM profiles;
id | user_id | first_name | last_name | gender | birthdate
----+---------+------------+------------+--------+-----------
1 | 1 | name1 | last_name1 | 0 |
2 | 1 | name2 | last_name2 | 1 |
3 | 2 | name3 | last_name3 | 2 |
(3 rows)