0

申し訳ありませんが、私は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)

構文エラー: 関数本体の外側に非宣言ステートメントがあります

4

0 に答える 0