Skip to content

How to get globals() inside Go bounded method? #211

@reyoung

Description

@reyoung

Simple description

I cannot find a way to access globals() within a bounded method in GoLang.

I expose a type into module, like moduleImpl.Globals["Foo"] = FooType, and add methods to FooType by FooType.Globals["bar"] = MustNewMethod(..., someGoMethod, ...).

I cannot access module's global variables inside someGoMethod.

Why I need this feature

I just attach different zap.Logger to multiple py.Contexts. I attach logger as a module's global variable, by using

ctx.GetModule("name").Globals["logger"] = &pyLoggerObject{logger}

but I cannot find a way to use this logger inside bounded methods.


I found I can create a py.Type and attach the type to module global dynamically. I can somehow read module globals by this trick. But Is there a elegant way to archive that?

m = ctx.GetModule("module")
m.Globals["Foo"] = NewFooType(m)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions