In Go, compile-time errors are errors that are detected by the Go compiler during the compilation of the program. These errors prevent the program from being compiled and therefore cannot be run. Common examples of compile-time errors include syntax errors, type errors, and import errors.
On the other hand, runtime errors are errors that occur during the execution of the program. These errors may occur due to logical errors in the program or unforeseeable circumstances such as external events or resource exhaustion. Common examples of runtime errors include division by zero, null pointer dereference, and out-of-bounds array access.
Unlike compile-time errors, runtime errors may not be immediately detected and can cause the program to crash or behave unexpectedly during runtime. Therefore, it is important to handle runtime errors gracefully using error handling mechanisms such as panic and recover in Go.