[golang] os.Args

1300 단어 golanggogo

os.Args

Go언어를 처음 배우면서 만난 os패키지 중 Args
검색을 해보면 커맨드라인 인자 (Command-line arguments)으로 프로그램 의 실행을 매개변수화 하는 일반적인 방법이라고 한다.

🤔
진짜 처음에는 무슨 소리인지 하나도 몰랐다.

다른 미니 프로젝트를 해보다가 여유가 생길때 다시 공부를 해보려 하니까 이해가 되었다

os.Args[1:]은 인자를 갖는다
os.Args[0]은 경로이다

다들 os.Args[1:]는 인자를 가지고 os.Args[0]은 경로라고 닳도록 써주셨는데 나만 이해를 못한거였다

func main() {
	argsPath := os.Args
	argsArguments := os.Args[1:]

	arg := os.Args[3]
	arg2 := os.Args[2]

	fmt.Println("os.Args[0] ", argsPath)
	fmt.Println("os.Args[1:]", argsArguments)
	fmt.Println("os.Args [3]", arg)
	fmt.Println("os.Args [2]", arg2)

}

출력값을 확인해 보니 [1:]이 인자라는 말과 [0]이 경로인지 이해했다

go run Example.go a b c 

os.Args[0] 파일의 경로~~\Example.exe
os.Args[1:] [a b c]
os.Args [3] c
os.Args [2] b

os.Args[0] 현재 실행되고 있는 go 파일의 경로가 나오고
os.Args[1:]인덱스 0을 제외한 전부 이니까 인자를 나타낸다고 하는 거였다
나머지 os.Args[2] , osArgs[3]은 실행하면서 작성한 값들(a b c)이 슬라이스처럼 들어가서 출력되는것을 확인 했다.

지금보면 정말 기초중의 기초라고 생각했지만 왜 그당시는 이해가 되지 않았을까.. 아직 한참은 더 배워야겠다

좋은 웹페이지 즐겨찾기