분산 시스템에서 Go 기능은 분산 데이터베이스와 상호 작용할 수 있습니다. 구체적인 단계는 다음과 같습니다. 필요한 종속성을 설치합니다. spanner.NewClient 함수를 사용하여 데이터베이스에 연결합니다. Query 메서드를 사용하여 쿼리를 실행하고 반복자를 가져옵니다. Do 메서드를 사용하여 쿼리 결과를 반복하고 데이터를 처리합니다. 쿼리가 완료된 후 Close 메서드를 사용하여 연결을 닫습니다.
분산 시스템에서는 Go 기능이 분산 데이터베이스와 상호 작용하는 것이 일반적인 요구 사항입니다. 이 문서에서는 Go 코드를 사용하여 분산 데이터베이스에 연결하고 쿼리하는 방법을 안내합니다.
첫 번째 단계는 필요한 종속성을 설치하는 것입니다.
import ( "context" "fmt" "log" "cloud.google.com/go/spanner" )
데이터베이스에 연결하려면 spanner.NewClient
함수를 사용하세요. spanner.NewClient
函数:
client, err := spanner.NewClient(context.Background(), "projects/my-project", "instances/my-instance", "databases/my-database") if err != nil { log.Fatal(err) }
要执行查询,请使用 Query
方法:
stmt := spanner.Statement{SQL: `SELECT * FROM Singers`} iter := client.Single().Query(context.Background(), stmt) defer iter.Stop()
iter
是一个迭代器,它将遍历查询结果。
要处理结果,请使用 Do
for { row, err := iter.Next() if err == iterator.Done { break } if err != nil { log.Fatal(err) } var singerId int64 var firstName string var lastName string if err := row.ColumnByName("SingerId", &singerId); err != nil { log.Fatal(err) } if err := row.ColumnByName("FirstName", &firstName); err != nil { log.Fatal(err) } if err := row.ColumnByName("LastName", &lastName); err != nil { log.Fatal(err) } fmt.Printf("%d %s %s\n", singerId, firstName, lastName) }실행 query 쿼리를 실행하려면
Query
메서드를 사용하세요. client.Close()
iter
는 쿼리 결과를 반복하는 반복자입니다. 결과 처리 중결과를 처리하려면 Do
메소드를 사용하세요: 🎜package main import ( "context" "fmt" "log" "cloud.google.com/go/spanner" ) func main() { client, err := spanner.NewClient(context.Background(), "projects/my-project", "instances/my-instance", "databases/my-database") if err != nil { log.Fatal(err) } defer client.Close() stmt := spanner.Statement{SQL: `SELECT * FROM Singers`} iter := client.Single().Query(context.Background(), stmt) defer iter.Stop() for { row, err := iter.Next() if err == iterator.Done { break } if err != nil { log.Fatal(err) } var singerId int64 var firstName string var lastName string if err := row.ColumnByName("SingerId", &singerId); err != nil { log.Fatal(err) } if err := row.ColumnByName("FirstName", &firstName); err != nil { log.Fatal(err) } if err := row.ColumnByName("LastName", &lastName); err != nil { log.Fatal(err) } fmt.Printf("%d %s %s\n", singerId, firstName, lastName) } }🎜연결 닫기🎜🎜쿼리가 완료된 후 데이터베이스 연결을 닫으세요: 🎜rrreee🎜실제 사례 🎜🎜다음은 Cloud Spanner 데이터베이스에 연결하고 쿼리를 실행하는 방법을 보여주는 Complete Go 코드 예시입니다. 🎜rrreee
위 내용은 분산 시스템에서 Golang 함수와 분산 데이터베이스 간의 상호 작용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!