Skip to content

Instantly share code, notes, and snippets.

@arxdsilva
Last active February 12, 2024 13:30
Show Gist options
  • Star 53 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save arxdsilva/4f73d6b89c9eac93d4ac887521121120 to your computer and use it in GitHub Desktop.
Save arxdsilva/4f73d6b89c9eac93d4ac887521121120 to your computer and use it in GitHub Desktop.
How to get the current working directory in golang
package main
// More info on Getwd()
// https://golang.org/src/os/getwd.go
//
import(
"os"
"fmt"
"log"
)
func main() {
dir, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
fmt.Println(dir)
}
@WestleyK
Copy link

👍 Thanks!

@whtiehack
Copy link

+1 Thanks!

@XuDafang
Copy link

Right !

@reivash
Copy link

reivash commented Feb 4, 2019

Awesome, thanks!

@vinchauhan
Copy link

vinchauhan commented Jun 5, 2019

If you would like to find the current directory name - then you can extend it further.

// More info on Getwd()
// https://golang.org/src/os/getwd.go
// 
import(
  "os" 
  "fmt"
  "log"
)

func main() {
  dir, err := os.Getwd()
	if err != nil {
		log.Fatal(err)
	}
  fmt.Println(dir)
  var ss [] string
  if runtime.GOOS == "windows" {
		ss = strings.Split(dir, "\\")
	} else {
		ss = strings.Split(dir, "/")
	}

	currentDirName:= ss[len(ss)-1]

	fmt.Println("Current Directory Name: ", currentDirName)
}

@webern
Copy link

webern commented Jul 28, 2019

👍

@stalko
Copy link

stalko commented Sep 13, 2019

👍🏿

@sh0seo
Copy link

sh0seo commented Oct 17, 2019

👍

@mzz2017
Copy link

mzz2017 commented Oct 24, 2019

image

@vc1492a
Copy link

vc1492a commented Nov 8, 2019

👍

@pojntfx
Copy link

pojntfx commented Nov 26, 2019

I was looking for something like os.Pwd() - found this. Thanks a lot!

@aseem2625
Copy link

👍

@jasontconnell
Copy link

If you would like to find the current directory name - then you can extend it further.

// More info on Getwd()
// https://golang.org/src/os/getwd.go
// 
import(
  "os" 
  "fmt"
  "log"
)

func main() {
  dir, err := os.Getwd()
	if err != nil {
		log.Fatal(err)
	}
  fmt.Println(dir)
  var ss [] string
  if runtime.GOOS == "windows" {
		ss = strings.Split(dir, "\\")
	} else {
		ss = strings.Split(dir, "/")
	}

	currentDirName:= ss[len(ss)-1]

	fmt.Println("Current Directory Name: ", currentDirName)
}

path/filepath does this for you, hopefully no one has this code in their programs

https://golang.org/pkg/path/filepath/

@vinchauhan
Copy link

@jasontconnell - you are right.

@wyfSunflower
Copy link

Could you please tell me how to get directory of specified windows process ?not only current process but also some else.For example cmd.exe

@laredoer
Copy link

牛逼

@limjinyung
Copy link

Thanks 👍

@ganesh-getweave
Copy link

@m-a-rahal-os
Copy link

THANK YOU !
I've wasted so much time trying to figure out how to find directory of the project (to locate config file correctly), this should be the first answer on stack overflow or something ... thanks again for sharing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment