На самом деле я не до конца понял этот момент. По сути C.GoString - обычная структура { ptr*, len } и должна менеджиться GC как и остальные строки в Go. Тем более, если посмотреть в документацию там указано, что например C.CString надо высвобождать вручную, но про C.GoString такого нет (https://pkg.go.dev/cmd/cgo#hdr-Go_references_to_C). Но наверное лучше делать так:
Название структуры косвенно намекает на то, что все зависит от операционной системы. Есть документация с источниками генерации. Об их качестве к сожалению рассуждать не могу
Спасибо за комментарий, я и правда перепутал алгоритм цифровой подписи с хеш-функцией в статье про криптографию :( Когда переводил, забыл исправить этот момент
Спасибо за положительный отзыв. Из основного: Solana CLI + локальная нода, ну и юнит тесты, которые Rust предлагает из коробки. Вообще каждый выбирает сам, что ему удобнее и чем тестировать. Я вот привык сразу из браузера через Js. Возможно кому-то такой подход покажется странным, но что поделать)
Спасибо за комментарий. Да в основном Rust сейчас используется для блокчейн разработки. Еще я часто слышу о том, что на нем пишут/переписывают определенные высоконагруженные части приложений
На самом деле я не до конца понял этот момент. По сути
C.GoString
- обычная структура{ ptr*, len }
и должна менеджиться GC как и остальные строки в Go. Тем более, если посмотреть в документацию там указано, что напримерC.CString
надо высвобождать вручную, но проC.GoString
такого нет (https://pkg.go.dev/cmd/cgo#hdr-Go_references_to_C). Но наверное лучше делать так:UPD: Так же в документации написано, что
C.GoString
делает копию оригинальной строки. Так что судя по всему высвобождать оригинальную - обязательно.Название структуры косвенно намекает на то, что все зависит от операционной системы. Есть документация с источниками генерации. Об их качестве к сожалению рассуждать не могу
Я не ставил вам минус, веткой выше я уже признал свою ошибку, спасибо.
Спасибо за комментарий, я и правда перепутал алгоритм цифровой подписи с хеш-функцией в статье про криптографию :( Когда переводил, забыл исправить этот момент
Спасибо за положительный отзыв. Из основного: Solana CLI + локальная нода, ну и юнит тесты, которые Rust предлагает из коробки. Вообще каждый выбирает сам, что ему удобнее и чем тестировать. Я вот привык сразу из браузера через Js. Возможно кому-то такой подход покажется странным, но что поделать)
Спасибо за комментарий. Да в основном Rust сейчас используется для блокчейн разработки. Еще я часто слышу о том, что на нем пишут/переписывают определенные высоконагруженные части приложений
Я рад, спасибо. Опечатку исправил
Мне нужен был минимальный функционал, потому что в качестве клиента выступает расширение для браузера. Взял самое простое и популярное решение.