Cgo est une fonctionnalité très puissante du langage de programmation Golang, qui permet aux programmeurs d'interagir facilement entre différents langages de programmation. Présentons l'utilisation de base de Cgo.
Qu'est-ce que Cgo ?
Cgo est un outil qui permet aux programmes Golang d'interagir avec le compilateur C. Grâce à Cgo, les programmeurs Golang peuvent mélanger et compiler des codes C et Golang ensemble, de sorte que les programmes Golang puissent utiliser les bibliothèques et fonctions du langage C, et que les programmes en langage C puissent également appeler des fonctions et bibliothèques du langage Golang.
Utilisation de Cgo
Cgo est un outil puissant. L'utilisation de Cgo dans Golang peut grandement améliorer l'évolutivité et la convivialité du programme. Apprenons à utiliser Cgo.
//file: sum.c int sum(int a, int b) { return a + b; }
gcc -o libsum.so -shared sum.c
Après une compilation réussie, nous obtiendrons une bibliothèque de liens dynamiques, son nom est libsum.so.
package main /* #include <stdlib.h> #include <stdio.h> int sum(int a, int b); */ import "C" import ( "fmt" ) func main() { a := C.int(10) b := C.int(20) output := C.sum(a, b) fmt.Println(output) }
Il est à noter que dans ce fichier Golang, nous utilisons le formulaire de commentaires pour introduire le code C. Après l'instruction d'importation "C", nous pouvons utiliser des types prédéfinis, tels que C.int. La raison pour laquelle C.int se présente ici sous cette forme est qu'il s'agit d'un wrapper pour le type int dans le langage C.
Dans la fonction principale, nous définissons deux variables a et b, qui sont respectivement de type C.int, et leurs valeurs sont respectivement 10 et 20. Ensuite, nous avons appelé la fonction sum et attribué la sortie à la variable de sortie. Enfin, nous avons utilisé l'instruction fmt.Println pour imprimer la valeur de la sortie.
go build
Après une compilation réussie, nous pouvons exécuter notre programme. Dans cet exemple, notre programme en imprimera 30.
Résumé
Cgo est un outil très utile pour les programmeurs Golang. Grâce à Cgo, nous pouvons facilement interagir avec différents langages de programmation, élargissant ainsi la fonctionnalité et la flexibilité de nos programmes. J'espère que cet article sera utile à tous ceux qui apprennent Cgo.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!