Что выведет код?
  Anonymous Quiz
    5%
    00
      
    38%
    02
      
    9%
    11
      
    16%
    12
      
    22%
    Ошибка компиляции
      
    9%
    Посмотреть результаты
      
    👍7🔥1
  В этой статье я поделился лучшими бесплатными онлайн-курсами по изучению Golang на таких сайтах, как freeCodecamp, YouTube, Udemy и Coursera .
▪ Читать
@golangtests
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥3❤1👍1
  Что выведет код ?
Ответ
@golangtests
package main
import "fmt"
func adder() func(int) int {
 sum := 0
 return func(x int) int {
  sum += x
  return sum
 }
}
func main() {
 pos, neg := adder(), adder()
 for i := 0; i < 10; i++ {
  fmt.Println(
   pos(i),
   neg(-2*i),
  )
 }
}Ответ
@golangtests
👍8🔥3❤1
  Что выведет код ? 
Ответ
@golangtests
package main
import (
 "fmt"
)
func main() {
 arr1 := [2]int{2, 3}
 arr2 := [...]int{2, 3}
 fmt.Println(arr1 == arr2)
}Ответ
@golangtests
👍9🔥4❤2😁1🤔1
  🔥8
  Что выведет код?
  Anonymous Quiz
    21%
    0
      
    19%
    1
      
    16%
    2
      
    3%
    3
      
    22%
    Ошибка компиляции
      
    19%
    Посмотреть результаты
      
    👎7👍4
  Что выведет код ?
Ответ
@golangtests
package main
import (
 "fmt"
)
func main() {
 x := 3
 y := &x
 fmt.Print(*y)
 *y = 4
 fmt.Println(x)
}
Ответ
@golangtests
👍13👎4❤3🔥2
  🔥 Подборка полезных папок с каналами для датасаентисов
Папки, где вы найдете каналы с разбором лучших практик написания кода на Python и Golang до каналов по машинному обучению и нейросетям (папки работают на последних версиях тг).
https://t.iss.one/addlist/MUtJEeJSxeY2YTFi - Golang
https://t.iss.one/addlist/2Ls-snqEeytkMDgy - Машинное обучение
https://t.iss.one/addlist/8vDUwYRGujRmZjFi - Python
Папки, где вы найдете каналы с разбором лучших практик написания кода на Python и Golang до каналов по машинному обучению и нейросетям (папки работают на последних версиях тг).
https://t.iss.one/addlist/MUtJEeJSxeY2YTFi - Golang
https://t.iss.one/addlist/2Ls-snqEeytkMDgy - Машинное обучение
https://t.iss.one/addlist/8vDUwYRGujRmZjFi - Python
❤2
  Что выведет код ?
Ответ
@golangtests
package main
import (
 "fmt"
)
func main() {
 x := [...]string{1: "xyz", 2: "pqr"}
 fmt.Println(x[0], x[1])
}
Ответ
@golangtests
👍9👎6❤2🔥2😁2😢1
  Что выведет код ?
Ответ
@golangtests
package main
import "fmt"
type Number interface {
 int
}
func sum[T Number](a, b T) T {
 return a + b
}
func main() {
 fmt.Println(sum(2, 3))
}
Ответ
@golangtests
👍8👎1
  Что выведет код ?
Ответ
@golangtests
package main
import (
 "fmt"
)
func printChannel(ch chan int) {
 for {
  select {
  case num := <-ch:
   fmt.Printf("%d ", num)
  }
 }
}
func main() {
 ch := make(chan int)
 go printChannel(ch)
 for i := 0; i < 5; i++ {
  ch <- i
 }
}
Ответ
@golangtests
👍9🥰2❤1
  📌 Задача палиндром наибольшей длины, полученный с помощью соединений из слов, состоящих из двух букв.
Сложность: Средняя
Условие задачи: дан массив строк, каждый элемент которого состоит из двух букв английского алфавита в нижнем регистре.
Необходимо создать палиндром наибольшей длины путем выбора некоторых элементов из массива строк и компаниовки их в любом порядке. Каждый элемент массива можно использовать не более одного раза.
В ответе надо вернуть длину такого палидрома.
Палиндром - строка, которая одинаково читаются слева направо и справа налево.
Пример:
Ввод:
Вывод: 6
Объяснение: lc" + "gg" + "cl" = "lcggcl" или же "clgglc", но оба имеют максимальную длину 6.
Ввод:
Объяснение: "ty" + "lc" + "cl" + "yt" = "tylcclyt" или "lcyttycl"
Ввод:
Вывод: 2
Решение
Пишите свое решение в комментариях👇
@golangtests
Сложность: Средняя
Условие задачи: дан массив строк, каждый элемент которого состоит из двух букв английского алфавита в нижнем регистре.
Необходимо создать палиндром наибольшей длины путем выбора некоторых элементов из массива строк и компаниовки их в любом порядке. Каждый элемент массива можно использовать не более одного раза.
В ответе надо вернуть длину такого палидрома.
Палиндром - строка, которая одинаково читаются слева направо и справа налево.
Пример:
Ввод:
words = ["lc","cl","gg"]Вывод: 6
Объяснение: lc" + "gg" + "cl" = "lcggcl" или же "clgglc", но оба имеют максимальную длину 6.
Ввод:
words = ["ab","ty","yt","lc","cl","ab"]
Вывод: 8 Объяснение: "ty" + "lc" + "cl" + "yt" = "tylcclyt" или "lcyttycl"
Ввод:
words = ["cc","ll","xx"]Вывод: 2
Решение
Пишите свое решение в комментариях👇
@golangtests
👍4❤1🔥1
  Forwarded from Golang news
📌 Уроки Golang с нуля /#13 - Оператор Switch.
Вышел Новый урок из нашего курса, в нем мы поговорим о Операторе Switch в Go.
Оператор switch обычно используется для описания действий, выполняемых программой в тех случаях, когда переменной назначаются определенные значения. Следующий пример показывает, как в подобной ситуации можно использовать операторы if:
Пять паттернов использования операторов switch
Базовый switch с default кейсом
▪Оператор switch запускает первый case (кейс), равный выражению условия.
▪Кейсы оцениваются сверху вниз, останавливаясь, когда кейс подходит.
▪Если ни один кейс не совпадает и есть default кейс, выполняются его утверждения.
В отличие от C и Java, выражения case не обязательно должны быть константами.
Без выражения условия
Switch без условия аналогичен switch true.
Кейс - список
В Go в качестве кейса можно использовать список значений - если выражение условия совпадает с одним из элементов списка, тогда кейс считается совпавшим:
Fallthrough (проваливание в следующий кейс)
Оператор fallthrough передает управление следующему кейсу.
Он может использоваться только как заключительное утверждение в выражениях кейса.
Вывод:
Оператор break завершает выполнение самого внутреннего оператора for, switch или select.
Если вам нужно выйти из окружающего цикла, а не из switch, вы можете поместить метку в цикл и перейти к этой метке. Следующий пример показывает оба варианта использования.
На символе a выполняется default кейс. На пробеле оператор break производит выход из switch. Далее на символе b выполняется default кейс. Далее на символе новой строки (newline - \n) происходит выход к метке Loop и выход из for range цикла.
Порядок исполнения
Сначала выражение switch оценивается один раз.
Затем case выражения оцениваются слева направо и сверху вниз:
первое, равное выражению switch, запускает выполнение операторов соответствующего case,
другие case пропущены.
Вывод:
🎞  Смотреть
Gonews
Вышел Новый урок из нашего курса, в нем мы поговорим о Операторе Switch в Go.
Оператор switch обычно используется для описания действий, выполняемых программой в тех случаях, когда переменной назначаются определенные значения. Следующий пример показывает, как в подобной ситуации можно использовать операторы if:
Пять паттернов использования операторов switch
Базовый switch с default кейсом
▪Оператор switch запускает первый case (кейс), равный выражению условия.
▪Кейсы оцениваются сверху вниз, останавливаясь, когда кейс подходит.
▪Если ни один кейс не совпадает и есть default кейс, выполняются его утверждения.
switch time.Now().Weekday() {
case time.Saturday:
    fmt.Println("Сегодня суббота.")
case time.Sunday:
    fmt.Println("Сегодня воскресенье.")
default:
    fmt.Println("Сегодня будничный день.")
}В отличие от C и Java, выражения case не обязательно должны быть константами.
Без выражения условия
Switch без условия аналогичен switch true.
// пропущенное выражение условия означает "true"
switch hour := time.Now().Hour(); { 
case hour < 12:
    fmt.Println("Доброе утро!")
case hour < 17:
    fmt.Println("Добрый день!")
default:
    fmt.Println("Добрый вечер!")
}Кейс - список
В Go в качестве кейса можно использовать список значений - если выражение условия совпадает с одним из элементов списка, тогда кейс считается совпавшим:
func WhiteSpace(c rune) bool {
    switch c {
    case ' ', '\t', '\n', '\f', '\r':
        return true
    }
    return false
}Fallthrough (проваливание в следующий кейс)
Оператор fallthrough передает управление следующему кейсу.
Он может использоваться только как заключительное утверждение в выражениях кейса.
switch 2 {
case 1:
    fmt.Println("1")
    fallthrough
case 2:
    fmt.Println("2")
    fallthrough
case 3:
    fmt.Println("3")
}Вывод:
2
3
Выход с breakОператор break завершает выполнение самого внутреннего оператора for, switch или select.
Если вам нужно выйти из окружающего цикла, а не из switch, вы можете поместить метку в цикл и перейти к этой метке. Следующий пример показывает оба варианта использования.
Loop:
    for _, ch := range "a b\nc" {
        switch ch {
        case ' ': // пропускаем пробел
            break
        case '\n': // break на newline символе
            break Loop
        default:
            fmt.Printf("%c\n", ch)
        }
    }
Вывод:
a
bНа символе a выполняется default кейс. На пробеле оператор break производит выход из switch. Далее на символе b выполняется default кейс. Далее на символе новой строки (newline - \n) происходит выход к метке Loop и выход из for range цикла.
Порядок исполнения
Сначала выражение switch оценивается один раз.
Затем case выражения оцениваются слева направо и сверху вниз:
первое, равное выражению switch, запускает выполнение операторов соответствующего case,
другие case пропущены.
// Foo печатает и возвращает n.
func Foo(n int) int {
    fmt.Println(n)
    return n
}
func main() {
    switch Foo(2) {
    case Foo(1), Foo(2), Foo(3):
        fmt.Println("Первый case")
        fallthrough
    case Foo(4):
        fmt.Println("Второй case")
    }
}Вывод:
2
1
2
Первый case
Второй caseGonews
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍9❤3🔥3👎1
  Что выведет код ?
Ответ
@golangtests
package main
import "fmt"
func sum(a, b any) any {
 return a + b
}
func main() {
 fmt.Println(sum(2, 3))
}Ответ
@golangtests
👍5🔥3🥰1
  Что выведет код ?
  Anonymous Quiz
    3%
    1.5
      
    91%
    invalid operation: operator + not defined on a (variable of type any)
      
    3%
    0
      
    3%
    Ничего
      
    👍10❤3
  Что выведет код ?
▪ Ответ
@golangtests
package main
import (
 "fmt"
)
func main() {
 i := -5
 j := +5
 fmt.Printf("%+d %+d", i, j)
}
▪ Ответ
@golangtests
❤2👍1
  😁6❤2
  Что выведет код ?
▪ Ответ
@golangtests
package main
import (
 "fmt"
)
func main() {
 var i interface{}
 if i == nil {
  fmt.Println("nil")
  return
 }
 fmt.Println("not nil")
}
▪ Ответ
@golangtests
😱14👍10❤1
  