खोज…


परिचय

गो एक प्लगइन मैकेनिज्म प्रदान करता है जिसका उपयोग रनटाइम के दौरान अन्य गो कोड को गतिशील रूप से लिंक करने के लिए किया जा सकता है।

गो 1.8 के रूप में, यह केवल लिनक्स पर प्रयोग करने योग्य है।

एक प्लगइन को परिभाषित करना और उपयोग करना

package main

import "fmt"

var V int

func F() { fmt.Printf("Hello, number %d\n", V) }

इसके साथ बनाया जा सकता है:

go build -buildmode=plugin

और फिर अपने आवेदन से लोड और उपयोग किया जाता है:

p, err := plugin.Open("plugin_name.so")
if err != nil {
    panic(err)
}

v, err := p.Lookup("V")
if err != nil {
    panic(err)
}

f, err := p.Lookup("F")
if err != nil {
    panic(err)
}

*v.(*int) = 7
f.(func())() // prints "Hello, number 7"

उदाहरण 2017 के राज्य से



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow