12345678910111213141516171819202122232425262728293031323334353637383940 |
- package Cgo
- /*
- // C 标志io头文件,你也可以使用里面提供的函数
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define LEN 1024
- void pri(){
- printf("Welcome to the C World!\n");
- }
- int add(int a,int b){
- return a+b;
- }
- char* Foo( char *input ) {
- char* res = malloc( LEN * sizeof( char ) );
- sprintf( res, "%s %s", input, "World!" );
- return res;
- }
- */
- import "C" // 切勿换行再写这个
- import (
- "fmt"
- "unsafe"
- )
- func Getpri() {
- C.pri()
- }
- func GetAdd() {
- fmt.Println(C.add(2, 1))
- }
- func GetFoo(a string) {
- cs := C.CString(a)
- res := C.Foo(cs)
- str := C.GoString(res)
- C.free(unsafe.Pointer(cs))
- C.free(unsafe.Pointer(res))
- fmt.Println(str)
- }
|