In Golang, you can change the current working directory of a process using the syscall
package and the Chdir
function.
Here's an example of how you can change the current working directory:
package main
import (
"fmt"
"os"
"syscall"
)
func main() {
// Get the current working directory
cwd, err := os.Getwd()
if err != nil {
fmt.Println("Failed to get current working directory:", err)
return
}
fmt.Println("Current working directory:", cwd)
// Change the current working directory
err = syscall.Chdir("/path/to/new/directory")
if err != nil {
fmt.Println("Failed to change current working directory:", err)
return
}
// Get the updated current working directory
newCwd, err := os.Getwd()
if err != nil {
fmt.Println("Failed to get current working directory:", err)
return
}
fmt.Println("New current working directory:", newCwd)
}
In this example, we first get the current working directory using os.Getwd
. Then, we use syscall.Chdir
to change the current working directory to the desired path. Finally, we check the updated current working directory using os.Getwd
again.
Keep in mind that changing the current working directory affects the entire process, so any relative paths used in subsequent operations will be resolved relative to the new current working directory.