gitextract_k1h4qj8l/ ├── .gitignore ├── LICENSE ├── README.md ├── demo/ │ ├── filters/ │ │ └── filter.go │ └── user.go ├── examples/ │ ├── first_lesson/ │ │ ├── afterclass/ │ │ │ ├── fibonacci.go │ │ │ ├── fmt.go │ │ │ └── slice.go │ │ ├── array_slice/ │ │ │ ├── array.go │ │ │ └── slice.go │ │ ├── fmt/ │ │ │ └── fmt.go │ │ ├── for/ │ │ │ └── for.go │ │ ├── func_dec/ │ │ │ └── funcs.go │ │ ├── if_else/ │ │ │ └── ifelse.go │ │ ├── package_dec/ │ │ │ ├── multi_same/ │ │ │ │ ├── a.go │ │ │ │ └── b.go │ │ │ └── not_same/ │ │ │ └── not_same.go │ │ ├── switch/ │ │ │ └── switch.go │ │ ├── types/ │ │ │ ├── rune.go │ │ │ └── string.go │ │ └── var_and_const/ │ │ ├── assignment.go │ │ ├── const.go │ │ ├── var.go │ │ └── var_wrong.go │ ├── forth_lesson/ │ │ ├── atomic/ │ │ │ └── atomic.go │ │ ├── channel/ │ │ │ └── channel.go │ │ ├── context/ │ │ │ └── context.go │ │ ├── init/ │ │ │ ├── init_order.go │ │ │ └── multi_init.go │ │ ├── select/ │ │ │ └── select.go │ │ └── static_resource/ │ │ └── file_server.go │ ├── second_lesson/ │ │ ├── afterclass/ │ │ │ ├── set.go │ │ │ └── tree.go │ │ ├── composition/ │ │ │ ├── composition.go │ │ │ └── no_over_write.go │ │ ├── http/ │ │ │ └── request_body.go │ │ ├── map/ │ │ │ └── map.go │ │ ├── server_context/ │ │ │ └── signup.go │ │ └── struct/ │ │ ├── intf.go │ │ ├── pointer.go │ │ ├── receiver.go │ │ ├── self_ref.go │ │ ├── struct.go │ │ ├── type_a_b.go │ │ └── type_a_et_b.go │ └── third_lesson/ │ ├── closure/ │ │ └── closure.go │ ├── defer/ │ │ └── defer.go │ ├── errors/ │ │ ├── error.go │ │ └── panic.go │ ├── goroutine/ │ │ └── goroutine.go │ └── sync/ │ ├── map.go │ ├── mutex.go │ ├── once.go │ ├── pool.go │ └── wait_group.go ├── go.mod ├── go.sum ├── main.go ├── onclass/ │ └── main.go └── pkg/ ├── context.go ├── filter.go ├── graceful_shutdown.go ├── graceful_shutdown_signal_darwin.go ├── graceful_shutdown_signal_linux.go ├── graceful_shutdown_signal_windows.go ├── handler.go ├── hook.go ├── hook_test.go ├── map_router.go ├── server.go ├── static_resource.go ├── tree_node.go ├── tree_router.go ├── tree_router_test.go ├── v1/ │ ├── context.go │ ├── filter.go │ ├── handler.go │ ├── map_router.go │ ├── server.go │ ├── tree_router.go │ └── tree_router_test.go ├── v2/ │ ├── context.go │ ├── filter.go │ ├── handler.go │ ├── map_router.go │ ├── server.go │ ├── tree_router.go │ └── tree_router_test.go └── v3/ ├── context.go ├── filter.go ├── handler.go ├── map_router.go ├── server.go ├── tree_node.go ├── tree_router.go └── tree_router_test.go