查看syscall包源码后:Go语言是否依赖Perl与Shell?
Great question! Let’s break this down clearly based on the syscall package scripts you noticed:
Those scripts are build-time tools, not runtime dependencies
Themkall.sh,mkerrors.sh,mksyscall.pl, and similar files are helper scripts used to auto-generate Go code for thesyscallpackage. They handle the tedious work of creating cross-platform system call bindings (for different OSes and architectures) so maintainers don’t have to write all that repetitive code by hand.You don’t need Perl/Shell for everyday Go development
When you write, compile, or run Go programs, you never have to touch these scripts. The pre-generated syscall code is already included in the standard library—you can importsyscalland use its functions without any external tools beyond the Go toolchain itself.Only Go standard library contributors need these tools
The only time you’d require Perl or Shell is if you’re modifying thesyscallpackage’s core implementation, or adding support for a new OS/architecture. This is an edge case for project maintainers, not regular developers.Go is gradually phasing out these external dependencies
Over time, the Go team has been migrating many of these legacy build tools to Go itself, reducing reliance on Perl and Shell for the project’s internal workflows.
内容的提问来源于stack exchange,提问作者Ahmad Ismail

