0

对不起,我对golang很陌生。我正在努力理解变量的范围。我试图创建一个全局变量来从局部函数中获取变量,但是我一直收到一个错误,它没有被声明。我也尝试做一个 return 语句,但是我不断收到一个语法错误,即没有足够的参数并且没有返回值。
我添加了类似的东西

func main() string { return Test2 }  

但是我做错了什么,无法解决这个问题

我尝试创建一个全局变量来将值存储在本地函数之外。我还尝试创建一个返回函数来获取变量。

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