Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#[no_mangle]
pub extern "C" fn hello_from_rust(name: *const libc::c_char) {
let buf_name = unsafe { CStr::from_ptr(name).to_bytes() };
let str_name = String::from_utf8(buf_name.to_vec()).unwrap();
println!("go\t: {}", str_name);
}
use std::str;
pub extern "C" fn hello_from_rust(name: *const libc::c_char) {
let c_name = unsafe { CStr::from_ptr(name) };
let str_name = str::from_utf8(c_name.to_bytes()).unwrap();
println!("go\t: {}", str_name);
}
На самом деле, в коммьюнити Rust и Go очень доброжелательные отношения как внутри, так и друг с другом.Поддержу! Вот например свежая цитата недели из еженедельника This Week in Rust:
I think if someone placed the Rust and Go community in a room and asked them to fight, we'd probably just all order pizza and geek out over languages. — Manish Goregaokar
rm -f "./main"
Поскольку go может создавать только исполняемые файлы, коду на rust придётся побыть статической библиотекой.
Почему Go и Rust не враги, а друзья