We do it often (everything is signed in FrostFS) and verification routines can be seen in benchmarks.
We should try to keep allocations as small as possible here.
Maybe, also implement a test like this one https://github.com/golang/go/blob/2f2c5e41e7728cae99abd14e8bd5ffcfebf9df8e/src/crypto/ed25519/ed25519_test.go#L323