[go] Go 언어의 디렉토리 구조 조작
Go 언어는 경량화되고 빠른 실행 속도를 제공하는 프로그래밍 언어입니다. Go 언어는 특히 풍부한 표준 라이브러리와 함께 디렉토리 및 파일 조작에 필요한 기능을 제공합니다. 이 글에서는 Go 언어를 사용하여 디렉토리를 조작하는 방법을 살펴보겠습니다.
디렉토리 생성
새로운 디렉토리를 생성하는 방법은 간단합니다. os
패키지의 Mkdir
함수를 사용하여 디렉토리를 생성할 수 있습니다.
package main
import (
"os"
)
func main() {
err := os.Mkdir("newdir", 0755)
if err != nil {
panic(err)
}
}
위 코드에서 0755는 새로운 디렉토리의 권한을 지정합니다.
디렉토리 삭제
디렉토리를 삭제하는 것도 쉽습니다. os
패키지의 RemoveAll
함수를 이용하면 디렉토리와 하위 항목을 모두 삭제할 수 있습니다.
package main
import (
"os"
)
func main() {
err := os.RemoveAll("newdir")
if err != nil {
panic(err)
}
}
디렉토리 읽기
디렉토리의 파일 목록을 읽어오려면 os
패키지의 ReadDir
함수를 사용합니다.
package main
import (
"fmt"
"os"
)
func main() {
files, err := os.ReadDir(".")
if err != nil {
panic(err)
}
for _, file := range files {
fmt.Println(file.Name())
}
}
ReadDir
함수는 os.DirEntry
타입의 슬라이스를 반환합니다.
파일 이동 및 이름 변경
os
패키지의 Rename
함수를 사용하여 파일을 이동하거나 이름을 변경할 수 있습니다.
package main
import (
"os"
)
func main() {
err := os.Rename("oldname.txt", "newname.txt")
if err != nil {
panic(err)
}
}
위의 예제는 oldname.txt
파일의 이름을 newname.txt
로 변경합니다.
이렇게 Go 언어를 사용하면 파일 시스템과 상호작용하는 다양한 작업을 간단하게 처리할 수 있습니다.
위의 예제 코드는 Linux나 macOS에서 실행할 경우 동작하지만, Windows에서는 특정 변경이 필요할 수 있습니다. Windows에서는 파일 경로의 구분자로 역슬래시()를 사용하고, 파일 권한 처리도 다를 수 있습니다.
더 자세한 내용은 Go 언어 공식 문서를 참고하시기 바랍니다.