golang internals