# Go 快速开始

以下代码从环境变量创建客户端并列出当前身份可见的工作区，用于只读验证 Product Endpoint 和个人访问令牌。`PRODUCT_API_BASE_URL` 必须是包含 `/newmoi` 的完整地址。

```go
package main

import (
	"context"
	"fmt"
	"os"
	"time"

	sdk "github.com/matrixorigin/matrixflow/sdk/go-sdk"
)

func main() {
	ctx := context.Background()
	client, err := sdk.NewWithPersonalAccessToken(
		os.Getenv("PRODUCT_API_BASE_URL"),
		os.Getenv("PRODUCT_API_KEY"),
		sdk.WithTimeout(30*time.Second),
	)
	if err != nil {
		panic(err)
	}

	result, err := client.Workspaces().List(ctx)
	if err != nil {
		panic(err)
	}
	for _, workspace := range result.GetWorkspaces() {
		fmt.Printf("%s\t%s\n", workspace.GetId(), workspace.GetName())
	}
}
```

输出中的第一列是后续工作区作用域操作使用的 ID。选择工作区后，调用 `client.Workspace(workspaceID)` 获取作用域对象。`EnsureWorkspace` 会在没有同名工作区时创建工作区，不要用它验证连接。
