❓ Что произойдёт при чтении из закрытого chan struct{}?
  Anonymous Poll
    18%
    nil false
      
    39%
    {} false
      
    40%
    panic: reading from a closed channel
      
    4%
    runtime error
      
    👍3
  Golang. Вывод суммы в рублях и копейках
Всем привет, только начал изучать go не ругайте сильно. Решил задачку, но думаю что есть более элегантное решение с выводом, подскажите пожалуйста как бы Вы решили ее.
Текст задачи:
Напишите программу, которая считывает строку и выводит ее предполагаемую цену, 1 символ = 23 копейки в следующем формате:
Y коп. - если цена не дотягивает до рубля.
X р. Y коп. - если цена превышает 1 рубль.
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
var praic float64 = 0.23
var samplText string
var result int
fmt.Scan(&samplText)
result = utf8.RuneCountInString(samplText)
var resultRub float64 = float64(result) * praic
var RUB int = int(resultRub)
if resultRub > 1.00 {
fmt.Printf("%d р. %d коп.", int64(RUB), int((resultRub-float64(RUB))*100))
} else {
fmt.Printf("%d коп.", int(resultRub*100))
}
}
  Всем привет, только начал изучать go не ругайте сильно. Решил задачку, но думаю что есть более элегантное решение с выводом, подскажите пожалуйста как бы Вы решили ее.
Текст задачи:
Напишите программу, которая считывает строку и выводит ее предполагаемую цену, 1 символ = 23 копейки в следующем формате:
Y коп. - если цена не дотягивает до рубля.
X р. Y коп. - если цена превышает 1 рубль.
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
var praic float64 = 0.23
var samplText string
var result int
fmt.Scan(&samplText)
result = utf8.RuneCountInString(samplText)
var resultRub float64 = float64(result) * praic
var RUB int = int(resultRub)
if resultRub > 1.00 {
fmt.Printf("%d р. %d коп.", int64(RUB), int((resultRub-float64(RUB))*100))
} else {
fmt.Printf("%d коп.", int(resultRub*100))
}
}
❓ Что произойдет, если написать //go:generate перед функцией в коде?
  Anonymous Poll
    2%
    Код не скомпилируется
      
    52%
    Go выполнит указанную команду при генерации кода
      
    13%
    Go проигнорирует этот комментарий
      
    9%
    Это специальный комментарий для работы с интерфейсами
      
    26%
    Узнать ответ
      
    🤯1🎉1
  ❓Какой принцип REST API нарушается, если сервер хранит состояние сеанса пользователя?
  Anonymous Poll
    2%
    Uniform Interface
      
    78%
    Stateless
      
    6%
    Cacheable
      
    2%
    Layered System
      
    15%
    Узнать ответ
      
    👍6😁3
  ❓Как передать неограниченное количество аргументов разных типов
  Anonymous Poll
    8%
    func myFunc(args ...int)
      
    13%
    func myFunc(args []interface{})
      
    80%
    func myFunc(args ...interface{})
      
    5%
    Узнать ответ
      
    👍3🔥2
  ❓ Что делает ключевое слово fallthrough в switch-выражениях
  Anonymous Poll
    10%
    Завершает выполнение switch сразу после текущего case
      
    83%
    Позволяет передавать управление следующему case
      
    3%
    Прерывает выполнение всей программы
      
    6%
    Используется для обработки ошибок
      
    👍2
  Свой VPN на golang
Решил сделать свой VPN на golang. В принципе основную часть сделал:
Программа создаёт виртуальный интерфейс TUN
Подключается к VPN серверу по UDP
И передает данные из TUN на сервер, а с сервера в TUN
На сервере примерно тот же самый сценарий. Как я понял, это уже является VPN (только без шифрования, но это я добавлю). Хотелось бы дать клиенту доступ в интернет, то есть что бы на сервере IP пакеты отправлялись дальше в сеть и с сети клиенту. Это я и не понимаю, как сделать. Всё делаю под Windows.
Решил сделать свой VPN на golang. В принципе основную часть сделал:
Программа создаёт виртуальный интерфейс TUN
Подключается к VPN серверу по UDP
И передает данные из TUN на сервер, а с сервера в TUN
На сервере примерно тот же самый сценарий. Как я понял, это уже является VPN (только без шифрования, но это я добавлю). Хотелось бы дать клиенту доступ в интернет, то есть что бы на сервере IP пакеты отправлялись дальше в сеть и с сети клиенту. Это я и не понимаю, как сделать. Всё делаю под Windows.
👏3
  ❓Можно ли использовать fallthrough в default-блоке switch
  Anonymous Poll
    35%
    Да
      
    52%
    Нет
      
    15%
    Узнать ответ
      
    ❓ Что произойдёт, если оставить select без case
  Anonymous Poll
    25%
    Пропустит select
      
    36%
    Зависнет навсегда
      
    30%
    Код не скомпилируется
      
    11%
    Узнать ответ
      
    ❓Какой метод используется для выполнения SQL-запросов без возврата данных
  Anonymous Poll
    13%
    Query()
      
    77%
    Exec()
      
    7%
    RunSQL()
      
    5%
    QueryRow()
      
    ❓ Можно ли изменить символ в строке по индексу в Go?
  Anonymous Poll
    12%
    Да, можно, строки в Go изменяемы, как и массивы.
      
    8%
    Да, но только если строка содержит ASCII-символы, а не Unicode
      
    6%
    Можно, но только если строка объявлена с помощью var вместо const
      
    71%
    Нет, строки в Go неизменяемы, попытка изменить символ вызовет ошибку компиляции.
      
    7%
    Узнать ответ
      
    ❓Что делает тег json:"field_name,omitempty"
  Anonymous Poll
    7%
    Заменяет нулевые значения на null в JSON
      
    5%
    Делает поле обязательным при сериализации
      
    79%
    Исключает поле из JSON, если оно пустое (0, "", false, nil)
      
    4%
    Заменяет нулевые значения на null в JSON
      
    8%
    Узнать ответ
      
    ❤2🔥1
  🥱4🥰1
  ❓ Какова временная сложность основных операций в AVL-дереве
  Anonymous Poll
    6%
    O(n)
      
    56%
    O(log n)
      
    19%
    O(n log n)
      
    2%
    O(1)
      
    19%
    Узнать ответ
      
    👍5
  ❓Какое утверждение про сортировки верное?
  Anonymous Poll
    8%
    sort.Slice сохраняет относительный порядок элементов
      
    40%
    sort.Slice не гарантирует сохранение порядка одинаковых элементов
      
    13%
    sort.Slice и sort.SliceStable используют одинаковый алгоритм, но с разными параметрами
      
    4%
    sort.SliceStable используется для сортировки только числовых данных
      
    40%
    Узнать ответ
      
    😁5
  ❓Сколько элементов хранится в одном bucket в map
  Anonymous Poll
    7%
    4
      
    67%
    8
      
    3%
    12
      
    12%
    16
      
    14%
    Узнать ответ
      
    👎6👍1🥰1
  ❓Как singleflight обрабатывает ошибки, если объединённый вызов завершился с ошибкой?
  Anonymous Poll
    6%
    Автоматически повторяет вызов до успешного завершения.
      
    2%
    Завершает работу приложения.
      
    3%
    Игнорирует ошибку и возвращает nil.
      
    54%
    Возвращает одну и ту же ошибку всем горутинам, ожидавшим результат.
      
    35%
    Узнать ответ
      
    👏2
  