Merhabalar,
Bu konuda, Golang ile yazdığımız fonksiyonları nasıl shared object olarak export edip Python ile kullanabileceğimizden bahsedeceğim.
Her şeyden önce, Go ile bir fonksiyon yazalım.
Fonksiyon tanımlamadan önce kullandığımız, "//export sum" yorum satırı önemli. O olmadan fonksiyonu dışarıdan çağıramayız. Bu fonksiyonu Python ile çağırmak için önce "c-shared" modu ile build etmeliyiz kodu.
Gördüğünüz üzere, yorum satırı olayı yukarıda belirtilmiş zaten. Biz devam edelim, hemen kodu build edelim.
Komutu çalıştırdığımız dizine başarılı bir şekilde shared library olarak export edebildik kodumuzu. Artık Python üzerinden çağırmak kaldı geriye. Bunun için, "ctypes" kütüphanesinden yararlanacağız.
Başarılı bir şekilde Python üzerinden Go ile yazdığımız fonksiyonu çağırdık. Anlayamadığınız yerde, bilgim neticesinde yardımcı olurum, kolay gelsin
Yararlanılan Kaynaklar:
Bu konuda, Golang ile yazdığımız fonksiyonları nasıl shared object olarak export edip Python ile kullanabileceğimizden bahsedeceğim.
Her şeyden önce, Go ile bir fonksiyon yazalım.
Kod:
[COLOR="lemonchiffon"]package main
import "C"
//export sum
func sum(x, y int) int {
return x + y
}
func main() {}[/COLOR]
Fonksiyon tanımlamadan önce kullandığımız, "//export sum" yorum satırı önemli. O olmadan fonksiyonu dışarıdan çağıramayız. Bu fonksiyonu Python ile çağırmak için önce "c-shared" modu ile build etmeliyiz kodu.
Kod:
[COLOR="lemonchiffon"]$ go help buildmode
The 'go build' and 'go install' commands take a -buildmode argument which
indicates which kind of object file is to be built. Currently supported values
are:
[...]
-buildmode=c-shared
Build the listed main packages, plus all packages that they
import, into C shared libraries. The only callable symbols will
be those functions exported using a cgo //export comment.
Non-main packages are ignored.
[...][/COLOR]
Gördüğünüz üzere, yorum satırı olayı yukarıda belirtilmiş zaten. Biz devam edelim, hemen kodu build edelim.
Komutu çalıştırdığımız dizine başarılı bir şekilde shared library olarak export edebildik kodumuzu. Artık Python üzerinden çağırmak kaldı geriye. Bunun için, "ctypes" kütüphanesinden yararlanacağız.
Başarılı bir şekilde Python üzerinden Go ile yazdığımız fonksiyonu çağırdık. Anlayamadığınız yerde, bilgim neticesinde yardımcı olurum, kolay gelsin
Yararlanılan Kaynaklar:
Son düzenleme: