반응형
Go에서 하나의 디렉토리를 생성할 때는 os.Mkdir() 함수를 사용한다.
만약 디렉토리의 계층(하위 디렉토리 생성)을 구분하여 생성하고 싶으면 os.MkdirAll() 함수를 사용한다.
두 함수는 디렉토리의 경로와 파일 시스템 권한을 인수로 넣어주어야 한다.
다음의 예제는 os.ModePerm 함수를 사용한다.
os.ModePerm 함수는 파일 또는 디렉토리의 퍼미션 모드를 나타내는 상수이다.
이 함수는 파일 시스템에서 새로운 파일 또는 디렉토리를 만들 때 사용된다.
os.ModePerm 함수는 32비트의 부호 없는 정수형 상수값으로, 0777이라는 8진수 값과 동일하다.
이 값은 파일 또는 디렉토리의 퍼미션 모드를 의미한다.
참고로 0777은 사용자, 그룹, 기타 사용자 모두가 읽기, 쓰기, 실행 권한을 가진다는 것을 의미한다.
즉, 해당 파일이나 디렉토리는 모든 사용자가 읽고 쓰고 실행할 수 있다.
package main
import (
"fmt"
"os"
)
func main() {
if err := os.Mkdir("test", os.ModePerm); err != nil {
fmt.Println(err)
}
}
os.Mkdir() 함수는 명시된("test") 디렉토리 명으로 생성한다.
하지만 하위 디렉토리를 생성하지 못하는데, 만약 "test" 대신에 "test/test1/test2" 이렇게 디렉토리 명을 준다면
오류가 발생한다.
만약 디렉토리 계층(하위 디렉토리 생성)을 구분하여 생성하고 싶다면 다음의 예제를 참고하면 된다.
package main
import (
"fmt"
"os"
)
func main() {
if err := os.MkdirAll("test/test1/test2", os.ModePerm); err != nil {
fmt.Println(err)
}
}
반응형
'Golang' 카테고리의 다른 글
Golang CSV를 JSON 변환 (0) | 2023.03.15 |
---|---|
Golang JSON을 CSV로 변환 (0) | 2023.03.15 |
Golang sync.WaitGroup (0) | 2023.03.06 |
omitempty (0) | 2023.01.10 |
Golang 문자열 다루기 (strconv, strings) (0) | 2022.12.10 |
댓글