How To Refactor A Golang Project By Using Interfaces

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ย. 2024

ความคิดเห็น • 23

  • @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.

    • @anthonygg_
      @anthonygg_  ปีที่แล้ว +4

      You are my hero 🙏

  • @Cethris
    @Cethris 11 หลายเดือนก่อน +4

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

  • @tpotjj2979
    @tpotjj2979 ปีที่แล้ว +1

    Interfacer all the way🚀

  • @TheWorpler
    @TheWorpler ปีที่แล้ว +5

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

    • @anthonygg_
      @anthonygg_  ปีที่แล้ว

      Welcome to the club!

  • @rekram1519
    @rekram1519 ปีที่แล้ว +1

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

  • @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

  • @salman0ansari
    @salman0ansari ปีที่แล้ว +1

    finally found a good gotuber 😮‍💨

  • @hananasyrawi5206
    @hananasyrawi5206 ปีที่แล้ว +2

    Yeah Power of Type Duck

  • @zeusdeux
    @zeusdeux 25 วันที่ผ่านมา

    GSP is a golang degen?! Noice

  • @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!

  • @ZockaRocka
    @ZockaRocka ปีที่แล้ว

    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!

  • @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?

  • @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

  • @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.

  • @Cruzylife
    @Cruzylife ปีที่แล้ว

    can u push this to your github

  • @murodiskandarov2431
    @murodiskandarov2431 ปีที่แล้ว

    no comment