我正在尝试从 Go 调用一个 Objective-C 函数;这很好用,但我的问题出现在 UTF-8 字符串上。我不知道如何NSString*在 Go 代码中创建一个,或者如何通过char*.
package main
/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Cocoa
#import <Cocoa/Cocoa.h>
void printUTF8(const char * iconPath) {
NSLog(@"%s", iconPath);
}
*/
import "C"
import (
"fmt"
"unsafe"
)
func main() {
goString := "test 漢字 test\n"
fmt.Print(goString)
cString := C.CString(goString)
defer C.free(unsafe.Pointer(cString))
C.printUTF8(cString)
}
正如预期的那样,输出是:
测试汉字测试
测试 ʺ¢Â≠ó 测试
谁能帮我这个?
梵蒂冈之花
相关分类