Go Language
Что произойдет при выполнении следующего кода?
func main() {
s := "Hello world"
s[0] = "h"
fmt.Println(s)
}
Объясните работу следующего кода по изменению строки:
package main
import "fmt"
func main() {
s := "Hello world"
// Преобразование строки в массив байтов ([]byte)
bytes := []byte(s)
// Изменение первого символа на "h"
bytes[0] = 'h'
// Преобразование массива байтов обратно в строку
s = string(bytes)
fmt.Println(s)
}
Каков будет результат выполнения следующего кода с каналами?
func main() {
ch := make(chan int, 5)
for i := 0; i <= 4; i++ {
ch <- i
}
close(ch)
for true {
if val, ok:=<-ch; ok {
fmt.Println(val)
} else {
break
}
}
}
Каков будет порядок вывода чисел в следующем коде с defer?
func main() {
func() {
defer fmt.Println(1)
}()
defer fmt.Println(2)
}
Каков будет порядок вывода чисел в следующем коде с defer и блоками?
func main() {
{
defer fmt.Println(1)
}
defer fmt.Println(2)
}
SQL
- Составить запрос который выведет все последние проценты по всем пунктам выдачи
- Таблица
pickpoint_tariff:create table pickpoint_tariff ( id bigserial, created timestamp default now(), pickpoint_id bigint, percent numeric ); - Список пунктов: 1,2,3,4,5
- Пример данных в таблице:
- 1 — 02.10 — 1 — 2%
- 2 — 02.10 — 2 — 2%
- 3 — 02.10 — 3 — 2%
- 4 — 02.10 — 4 — 2%
- 5 — 02.10 — 5 — 2%
- 6 — 03.10 — 1 — 3%
- 7 — 03.10 — 4 — 1%
- 8 — 03.10 — 2 — 5%
- Таблица