Coder Social home page Coder Social logo

Comments (3)

VladimirMarkelov avatar VladimirMarkelov commented on August 25, 2024

Hi Khosrow,

You are welcome :)

I do not remember why I decided to do it. A few possible reasons:

First, I might be bitten by Go "inheritance" - I tried to implemented another "generic" method and then I got a bunch of strange errors. Only after I understood that Go inheritance != C++ inheritance, I was able to fix the trouble by removing "generic" code. So I chose a way to add OnClick on top level for controls that needs it.

Second reason: I made a library for my needs and OnClick() looked useless for some controls (e.g, for CheckBox it is not as useful as OnChange as it does not pass the current value of checkbox). For my home projects OnClick for Button was enough.

Third possible reason: my Delphi experience. In Delphi VCL OnClick was not common event, so I am not used to it.

from clui.

khaf avatar khaf commented on August 25, 2024

Ah, a fellow Delphi veteran! I see why we seek the same thing.

Go doesn't have inheritance, only composition. Everyone gets it wrong in the first go :)

I take it you don't object to me to do a bit of surgery to fix it?

from clui.

VladimirMarkelov avatar VladimirMarkelov commented on August 25, 2024

That was why I wrote inheritance quoted :) - people who came from Delphi/C++ it is not obvious and takes time to grasp the Go way.

While "surgery" does not break what works - I am fine with this 👍

from clui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.