Go is similar to C in that neither supports closures (in the form of lambda expressions with untyped arguments). For my own implementation of lambda calculus in C, I chose to implement a so-called Krivine machine, which is one of the simplest abstract machines for the call-by-name lambda-calculus.
Although I never wrote a Turing Machine interpreter in the lambda calculus, I did write one for its close cousin, the Brainfuck language [2].
[1] https://www.irif.fr/~krivine/articles/lazymach.pdf
[2] https://gist.github.com/tromp/86b3184f852f65bfb814e3ab0987d8...