How To Refactor A Golang Project By Using Interfaces

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024
  • ► Join my Discord community for FREE education 👉 / discord
    ► Become a Patreon for exclusive tutorials 👉 / anthonygg_
    ► Follow me on Twitter 👉 / anthdm
    ► Follow me on GitHub 👉 github.com/anthdm
    In this Golang tutorial, I will teach you how you can refactor a Golang project with the use of interfaces.
    #golang

Комментарии • 22

  • @anthonygg_
    @anthonygg_  Год назад

    ► Join my Discord community for free education 👉 discord.com/invite/bDy8t4b3Rz
    ► Become a Patreon for exclusive tutorials 👉 www.patreon.com/anthonygg_
    Thanks for watching

  • @jondoe79
    @jondoe79 Год назад +12

    You can use space separated tags
    `bson: "fact" json:"fact"`
    Documentation says:
    By convention, tag strings are a concatenation of optionally space-separated key:"value" pairs. Each key is a non-empty string consisting of non-control characters other than space (U+0020 ' '), quote (U+0022 '"'), and colon (U+003A ':'). Each value is quoted using U+0022 '"' characters and Go string literal syntax.

  • @donovanvanderlinde3478
    @donovanvanderlinde3478 Год назад +1

    Lol I just blew all my money for December 😂
    But now I know which Patreon to sub to in Jan … your content is insane

  • @rekram1519
    @rekram1519 Год назад +1

    I was hoping youd make this type of video, perfect!!!

  • @TheWorpler
    @TheWorpler Год назад +5

    Just found you and subbed. Moving to use Go on some personal projects rather than Python.

  • @Cethris
    @Cethris 10 месяцев назад +4

    "This is going to be nice and thick for the blind homies" I nearly choked

  • @ZockaRocka
    @ZockaRocka 11 месяцев назад

    Hey :) I am sure you answered the question a lot of times, but i would like to know which Font and Theme do you use?
    thanks in advance!
    Great Vid!

  • @tpotjj2979
    @tpotjj2979 Год назад +1

    Interfacer all the way🚀

  • @salman0ansari
    @salman0ansari Год назад +1

    finally found a good gotuber 😮‍💨

  • @goriunovd
    @goriunovd Год назад

    HI Anthony, really love your videos, just found the channel today been going to quite a few How To Golang videos and find it very helpfull! I was actually wondering how would you approach an API design that requires you to do partial update, and been able to reset the value of some fields:
    For example lest say we have the CatFacts struct that looks like
    type Fact struct {
    ShortForm string
    LongForm string
    }
    type CatFact struct {
    Fact Fact
    Length int
    }
    Let say I would call the api to create the fact like POST {fact: { shortForm: "one", longForm: "super long form"}, length: 20 }
    But then later I want to update the fact with PATCH {fact: { shortForm: "two", longForm: "super long form"}}
    and again update it with PATCH {fact: null}
    or update just Length PATCH {length: 1000}
    This is just an example but I would really like to know how would you structure your structs and application for this cases, I know that golang treats null and no value the same so it becomes trickier to set value to Null, also the null packages do not support non primitive types. Would really appreciate your help!

  • @pedrohenriquebufulindealme5763
    @pedrohenriquebufulindealme5763 Год назад +1

    Great Video.
    I was wondering, what if you want to have multiple different collections for MongoStorer?
    For example, a "facts" collection and a "breeds" collection in this case.
    Could I compose my interface by kind of creating a repository pattern?
    Where I Have multiple interfaces inside my MongoStorer where each one have it's GetById, Update... for that specific collection?

  • @hananasyrawi5206
    @hananasyrawi5206 Год назад +2

    Yeah Power of Type Duck

  • @shayannadeem321
    @shayannadeem321 Год назад

    Can you create a video that tells how to use interface with 2 or 3 different type of structs as if you have multiple structures the interface will have multiple CreateAccount, CreateCatfact and methods for each type of struct ? can we use interface{} or any in interfaces ?

  • @failist9570
    @failist9570 Год назад +1

    Came here from reddit. Stayed here for content.

  • @lviv255
    @lviv255 Год назад +2

    Interface still has the CatFact as an arg. An interface should not have any reference to concrete types else it defeats the main advantages of using it.

    • @JustValxntine
      @JustValxntine Год назад

      What's the other option here? CatFact is a type that we own and control, not a dependency

  • @Cruzylife
    @Cruzylife Год назад

    can u push this to your github

  • @murodiskandarov2431
    @murodiskandarov2431 Год назад

    no comment