- 소개
- 파일 시스템 접근
- 데이터베이스 접근
- 마무리
1. 소개
Go 언어에서 데이터베이스나 파일 시스템에 접근하기 위해서는 os
패키지를 활용할 수 있습니다. os
패키지는 운영체제와 상호작용하기 위한 다양한 기능들을 제공하며, 파일 시스템 조작과 데이터베이스 접근에 유용한 함수와 기능들을 포함하고 있습니다.
여기서는 os
패키지를 이용하여 Go 언어에서 파일 시스템 및 데이터베이스에 접근하는 방법에 대해 알아보겠습니다.
2. 파일 시스템 접근
os
패키지를 이용하여 파일 시스템에 접근하는 방법은 다양합니다. 파일 생성, 디렉터리 생성, 파일 쓰기 및 읽기 등 다양한 작업을 수행할 수 있습니다.
아래는 os
패키지를 사용하여 파일을 생성하고 데이터를 쓰는 간단한 예제 코드입니다.
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Create("example.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
data := []byte("Hello, world!\n")
_, err = file.Write(data)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("파일이 성공적으로 생성되었습니다.")
}
위 코드는 os.Create
함수를 사용하여 example.txt
파일을 생성하고, file.Write
함수를 사용하여 데이터를 파일에 씁니다.
3. 데이터베이스 접근
Go 언어에서 데이터베이스에 접근하기 위해서는 database/sql
패키지를 주로 활용합니다. 해당 패키지를 통해 다양한 데이터베이스에 대한 접속과 쿼리 실행이 가능합니다.
아래는 database/sql
패키지를 사용하여 SQLite 데이터베이스에 접속하고 테이블을 생성하는 예제 코드입니다.
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func main() {
db, err := sql.Open("sqlite3", "test.db")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
sqlStmt := `
CREATE TABLE IF NOT EXISTS userinfo (username VARCHAR(50));
`
_, err = db.Exec(sqlStmt)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("테이블이 성공적으로 생성되었습니다.")
}
위 코드는 database/sql
패키지를 사용하여 SQLite 데이터베이스에 접속하고, db.Exec
함수를 사용하여 SQL 쿼리를 실행하여 테이블을 생성합니다.
4. 마무리
os
패키지는 Go 언어에서 파일 시스템 조작을 위한 강력한 도구를 제공하며, database/sql
패키지를 이용하여 다양한 데이터베이스에 대한 접속과 조작이 가능합니다.
Go 언어를 사용하여 데이터베이스와 파일 시스템에 접근할 때에는 os
및 database/sql
패키지의 다양한 함수 및 기능들을 적절히 활용하여 보다 안전하고 효율적인 코드를 작성할 수 있습니다.