如何使用指针值从Golang的局部函数中获取变量?

时间:2019-04-12 16:26:02

标签: function variables go scope aws-sdk-go

对不起,我刚接触golang。我正在努力了解变量的范围。我试图创建一个全局变量以从局部函数中获取该变量,但是我不断收到未声明的错误。我也尝试做一个return语句,但是我不断收到语法错误,提示没有足够的参数并且没有返回值。
我添加了类似 func main()字符串{返回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)

语法错误:函数主体外的非声明语句

0 个答案:

没有答案