Будь как профессионал! Go #20. Методы структур в Golang. Struct methods in Go. Go уроки, go курс

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 44

  • @BRO-IT
    @BRO-IT  3 роки тому +9

    Подпишись 👍

    • @untraff
      @untraff Рік тому

      подписался

  • @yury3586
    @yury3586 2 роки тому +3

    Очень круто и интересно! Доступно и ясно, спасибо!

  • @andreichemeris4141
    @andreichemeris4141 2 роки тому +1

    перед просмотром видео подписался на канал, посмотрел и поставил лайк

  • @_vukivur2164
    @_vukivur2164 Рік тому +1

    Спасибо! Объясняешь и учишь гораздо лучше, чем учат на платных курсах.

    • @untraff
      @untraff Рік тому

      какой курс по го ты купил который показался тебе хуже?

    • @_vukivur2164
      @_vukivur2164 Рік тому +1

      От Ката Академии@@untraff

    • @ОсмановДжамалутдин
      @ОсмановДжамалутдин 8 місяців тому

      @@_vukivur2164 в итоге как тебе ката? Кто-то хвалит их

    • @wxwxvxvx
      @wxwxvxvx Місяць тому

      @@_vukivur2164 удивительно, а я считал что у Ката - одни из лучших курсов

  • @hikarukun5126
    @hikarukun5126 Рік тому +4

    Лайк за старание. Можно было рассказать дополнительно, что методы не только у структур могут быть
    ***
    Пример #1 метод структур
    ***
    package main
    import (
    "fmt"
    )
    const (
    adultAge uint8 = 18
    )
    type User struct {
    Name string
    Age uint8
    }
    func (u User) isAdult() bool {
    return u.Age >= adultAge
    }
    func main() {
    u := User{"Vasya", 18}
    fmt.Println(u.isAdult())
    }
    ***
    Пример #2 метод кастомных типов
    ***
    package main
    import "fmt"
    const (
    adultAge uint8 = 18
    )
    type Age uint8
    type User struct {
    Name string
    Age Age
    }
    // пример метода Age
    func (a Age) isAdult() bool {
    // приводим переменную adultAge к типу Age
    return a >= Age(adultAge)
    }
    func main() {
    u := User{"Vasya", 18}
    fmt.Println(u.Age.isAdult())
    }

  • @vyacheslavTr
    @vyacheslavTr 2 роки тому +1

    Спасибо все доступно и понятно... Можно еще обойтись без цикла сортировкой среза и возвратом последнего наибольшего элемента .

  • @solopovsergey
    @solopovsergey Рік тому +1

    6:02 блок else if лишний, достаточно того то по умолачанию значение false и 1 проверка в результате которой может быть true

  • @untraff
    @untraff Рік тому +6

    Все говорят как всё понятно и круто, это конечно радужные но бесполезные комментарии. Не затронул очень важный момент. В предыдущем видео ты используешь оператор разыменования, чтобы менять переменные, но в случае структуры ты его не использууешь, а всё равно параметры структуры меняются. Ничего не сказал об этом. И никто не спросил "почему так" а ведь без этого не может быть понимания.

  • @PolinkaMurr
    @PolinkaMurr 3 роки тому

    Интересные примеры👍

  • @elisorium
    @elisorium 3 місяці тому

    Ну ты бро и выдал базу с двумя ифами и доп переменной, прямо по профессиональным заветам индусских гуру

  • @limirikys
    @limirikys 3 роки тому +1

    Отлично!

  • @NovgorodskyLeatherCraft
    @NovgorodskyLeatherCraft Рік тому

    5:42 - или я чего то не понимаю или одно из двух....
    зачем там else if? У нас же только два варианта может быть. Если первое условие не выполнено, то возвращаем второй вариант.
    А с учетом того, что значение false присвоено в начале метода, то достаточно просто if.
    А так получается лишняя проверка, да еще и переназначение переменной того же значения, которое она уже и так имела.
    Или я чего то недопонял?

  • @trillerperviu2752
    @trillerperviu2752 2 роки тому +2

    Ты настолько крут, что тебя смотрят 101 процент пользователей (92.1 + 8.9)

  • @SergeyHramenko
    @SergeyHramenko 2 роки тому +5

    мог написать просто return u.age >= 18, получилось бы тоже самое

    • @evgant5000
      @evgant5000 2 роки тому

      Чтоб не забывал как пользоваться указателями)

  • @alphagroup5147
    @alphagroup5147 Рік тому

    Круто🎉🎉🎉

  • @mr_jedi
    @mr_jedi 2 роки тому +2

    Спасибо за урок. У меня возник вопрос. Может я что-то упускаю, но зачем в методе isElder else if, да и вообще зачем там две переменные и условные операторы? Не проще ли было бы сразу вернуть результат сравнения (return u.age >= 18)?

  • @alexkorel4494
    @alexkorel4494 3 роки тому +1

    подписан👍🙂

  • @WordsCrazy
    @WordsCrazy 8 місяців тому

    "срез его очка" ахахах

  • @АйбарНуртайулы
    @АйбарНуртайулы 5 місяців тому

    спасибооо

  • @alexusta8001
    @alexusta8001 2 роки тому

    Выходя из послендего примера high минемальное равно нулю?

  • @vitaliikaverin3120
    @vitaliikaverin3120 2 роки тому +1

    понадобилось 4 видео, немного статей и пара недель вникания, чтобы хоть как-то понять, что такое методы. Спасибо.

  • @gundun9492
    @gundun9492 2 роки тому

    Йо, спасибо за урок! Будут задачки по golang?

    • @BRO-IT
      @BRO-IT  2 роки тому +1

      Насчёт задач пока не знаю, но делать больше видео по Go планирую)

    • @yury3586
      @yury3586 2 роки тому

      @@BRO-IT ждем больше видео по Go ;)

  • @standarttechnology4477
    @standarttechnology4477 2 роки тому

    Профессионалы - это кто, интересно?

    • @BRO-IT
      @BRO-IT  2 роки тому

      ru.m.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB

    • @standarttechnology4477
      @standarttechnology4477 2 роки тому

      @@BRO-ITtrainee получается тоже профессионал, если умеет пользоваться структурами? :)

    • @BRO-IT
      @BRO-IT  2 роки тому

      @@standarttechnology4477 Профессионал, но не достаточно высокого уровня

  • @amakrushin_nx
    @amakrushin_nx Рік тому

    Кто видит баг?

  • @Бойправ-ж8ы
    @Бойправ-ж8ы 2 роки тому

    зачем фукнкциями менять значение стурктуры? Если можно проще: name := "Den". Зачем так изголяться?

  • @thegoldmedia
    @thegoldmedia Рік тому

    ошибки в каждой функции. много лишнего кода. много переопределений переменных без причин. для начинающих может и подойдет, для jun+ точно нет, это уровень начинающего джуна, и то с натяжкой

  • @uralstudy8008
    @uralstudy8008 2 роки тому

    6/10

  • @shodya1201
    @shodya1201 Рік тому +1

    Не очень понял для чего создавать переменную isTrue.
    Можно же просто:
    func (u user) getOuts() bool {
    ag := u.age
    if ag < 18 {
    return false
    } else {
    return true
    }
    }

  • @АкимКульбакин
    @АкимКульбакин 11 місяців тому +1

    package human1
    import "errors"
    type Hum struct {
    age int
    status string
    name string
    }
    func (h *Hum) SetAge(age int) (int, error, string) {
    err := errors.New("Неправильный возраст")
    if age > 150 || age < 0 {
    return 0, err, ""
    } else {
    switch {
    case age >= 0 && age < 10:
    h.status = "kid"
    h.age = age
    return h.age, nil, h.status
    case age >= 10 && age < 20:
    h.status = "tinager"
    h.age = age
    return h.age, nil, h.status
    case age >= 20 && age < 60:
    h.status = "adult"
    h.age = age
    return h.age, nil, h.status
    case age >= 60 && age