Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
Pase una porción de tipo personalizado de Ir a C#

Estoy tratando de integrar una aplicación Go dentro de un proyecto grande de C#. Al usar CGO, es fácil exportar funciones de Go a C#, especialmente cuando la función Go devuelve un tipo genérico.

Sin embargo, tengo la necesidad de llamar a una función Go que devuelve un segmento de tipo personalizado de C#, posiblemente enviando el segmento a una lista o matriz de C#.

La función Go se ve así

 func Myfunc(n []int, m float64) []Res{...}

donde está el tipo Res

 type Res struct { w IW p []Prs ti int64 ms int64 } type Prs struct { mmz float64 cge int itntn int64 } type IW struct { ledg float64 redg float64 }

No pude encontrar ninguna documentación o ejemplo en la web, ¿puedo hacer esto de alguna manera?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No sé cómo C# invoca Go, supongamos que vamos a invocar la función Go desde el código C.

  1. Necesita definir Res struct en el archivo C. como cgo_interface.h

  2. Luego escribes un archivo cgo como este:

 package cinvokego /* #cgo CFLAGS: -I ${include} #cgo LDFLAGS: -L ${libs} #include "cgo_interface.h" */ import "C" func GoFuncs(retArr *unsafe.Pointer, otherargs int) { // allocate memory and fill the retArr in here }
  1. Luego use go build --buildmode=c-archive cinvokego.go

  2. Luego obtendrá el archivo de encabezado y el archivo de almacenamiento generado por go build.

  3. Luego usa el encabezado y el archivo como un recurso C normal.

  4. Luego use C# para invocar el recurso C.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!