申し訳ありませんが、私はgolangにかなり慣れていません。変数の範囲を理解するのに苦労しています。ローカル関数から変数を取得するためにグローバル変数を作成しようとしましたが、宣言されていないというエラーが発生し続けます。return ステートメントも実行しようとしましたが、十分な引数がなく、戻り値がないという構文エラーが発生し続けます。
のようなものを追加しました
func main() string { return Test2 }
しかし、私は何か間違ったことをしています。この問題を理解することはできません
ローカル関数の外に値を格納するグローバル変数を作成してみました。また、変数を取得するための return 関数を作成しようとしました。
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
)
var Test2 string
func main() {
sess, _ := session.NewSession(&aws.Config{
Region: aws.String("us-east-1")},
)
svc := dynamodb.New(sess)
input := &dynamodb.GetItemInput{
Key: map[string]*dynamodb.AttributeValue{
"id": {
S: aws.String("ami-xxxxx"),
},
},
TableName: aws.String("table"),
}
result, _ := svc.GetItem(input)
Test := result.Item["id"].S
Test2 := *Test
fmt.Println(Test2)
}
fmt.Println(Test2)
構文エラー: 関数本体の外側に非宣言ステートメントがあります