[golang] os.Args
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)이 슬라이스처럼 들어가서 출력되는것을 확인 했다.
지금보면 정말 기초중의 기초라고 생각했지만 왜 그당시는 이해가 되지 않았을까.. 아직 한참은 더 배워야겠다
Author And Source
이 문제에 관하여([golang] os.Args), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@scastle/os.Args저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)