我应该为每个查询或其在GraphQL中的所有字段创建解析器吗?

I'm interested in using GraphQL and I've just started experimenting with it.

In a GraphQL tutorial, one can see the following quote:

Each field in a GraphQL schema is backed by a resolver.

But if you look at gqlgen (which is a golang library for building GraphQL servers) todo example that uses the following schema:

...
type MyQuery {
    todo(id: ID!): Todo
    lastTodo: Todo
    todos: [Todo!]!
}

type MyMutation {
    createTodo(todo: TodoInput!): Todo!
    updateTodo(id: ID!, changes: Map!): Todo
}

type Todo {
    id: ID!
    text: String!
    done: Boolean!
}
...

it actually uses 3 autogenerated resolvers (i.e., 1 for each query, not a field):

func (r *QueryResolver) Todo(ctx context.Context, id int) (*Todo, error) {
func (r *QueryResolver) LastTodo(ctx context.Context) (*Todo, error) {
func (r *QueryResolver) Todos(ctx context.Context) ([]*Todo, error) {

Is it the expected behavior not to autogenerate resolvers for each field (but for each query instead)?

When entire type is backed by a resolver then it's still true that each field is backed by resolver ;)

Comparing to SQL - usually you don't ask for each (single) field separately when you want entire record/row.

Field level resolvers are needed when type resolver don't return data for all required (by query) fields - f.e. for relations.