gitextract_x32qht1_/ ├── .gitattributes ├── .gitignore ├── README.md ├── crawler/ │ ├── config/ │ │ └── config.go │ ├── engine/ │ │ ├── concurrent.go │ │ ├── simple.go │ │ ├── types.go │ │ └── worker.go │ ├── fetcher/ │ │ └── fetcher.go │ ├── frontend/ │ │ ├── controller/ │ │ │ └── searchresult.go │ │ ├── model/ │ │ │ └── page.go │ │ ├── starter.go │ │ └── view/ │ │ ├── css/ │ │ │ └── style.css │ │ ├── index.html │ │ ├── js/ │ │ │ └── index.js │ │ ├── searchresult.go │ │ ├── searchresult_test.go │ │ └── template.html │ ├── main.go │ ├── model/ │ │ ├── car.go │ │ └── profile.go │ ├── persist/ │ │ ├── itemsaver.go │ │ └── itemsaver_test.go │ ├── scheduler/ │ │ ├── queued.go │ │ └── simple.go │ ├── xcar/ │ │ └── parser/ │ │ ├── cardetail.go │ │ ├── cardetail_test.go │ │ ├── cardetail_test_data.html │ │ ├── carlist.go │ │ ├── carlist_test.go │ │ ├── carlist_test_data.html │ │ ├── carmodel.go │ │ ├── carmodel_test.go │ │ └── carmodel_test_data.html │ └── zhenai/ │ └── parser/ │ ├── city.go │ ├── citylist.go │ ├── citylist_test.go │ ├── citylist_test_data.html │ ├── profile.go │ ├── profile_test.go │ └── profile_test_data.html ├── crawler_distributed/ │ ├── config/ │ │ └── config.go │ ├── main.go │ ├── persist/ │ │ ├── client/ │ │ │ └── itemsaver.go │ │ ├── rpc.go │ │ └── server/ │ │ ├── client_test.go │ │ └── itemsaver.go │ ├── rpcsupport/ │ │ └── rpc.go │ └── worker/ │ ├── client/ │ │ └── worker.go │ ├── rpc.go │ ├── server/ │ │ ├── client_test.go │ │ └── worker.go │ └── types.go ├── go.mod ├── go.sum ├── lang/ │ ├── basic/ │ │ ├── atomic/ │ │ │ └── atomic.go │ │ ├── basic/ │ │ │ ├── basic.go │ │ │ └── triangle_test.go │ │ ├── branch/ │ │ │ ├── abc.txt │ │ │ └── branch.go │ │ ├── func/ │ │ │ └── func.go │ │ ├── loop/ │ │ │ └── loop.go │ │ └── regex/ │ │ └── regex.go │ ├── channel/ │ │ ├── channel.go │ │ ├── done/ │ │ │ └── done.go │ │ ├── pattern/ │ │ │ └── main.go │ │ └── select/ │ │ └── select.go │ ├── container/ │ │ ├── arrays/ │ │ │ └── arrays.go │ │ ├── maps/ │ │ │ └── maps.go │ │ ├── nonrepeatingsubstr/ │ │ │ ├── nonrepeating.go │ │ │ └── nonrepeating_test.go │ │ ├── slices/ │ │ │ ├── sliceops.go │ │ │ └── slices.go │ │ └── strings/ │ │ └── strings.go │ ├── errhandling/ │ │ ├── defer/ │ │ │ └── defer.go │ │ ├── filelistingserver/ │ │ │ ├── errwrapper_test.go │ │ │ ├── filelisting/ │ │ │ │ └── handler.go │ │ │ └── web.go │ │ └── recover/ │ │ └── recover.go │ ├── functional/ │ │ ├── adder/ │ │ │ └── adder.go │ │ ├── fib/ │ │ │ └── fib.go │ │ └── main.go │ ├── goroutine/ │ │ └── goroutine.go │ ├── http/ │ │ ├── client.go │ │ └── gindemo/ │ │ └── ginserver.go │ ├── json/ │ │ └── main.go │ ├── maze/ │ │ ├── maze.go │ │ └── maze.in │ ├── queue/ │ │ ├── queue.go │ │ ├── queue_test.go │ │ └── queueentry/ │ │ └── main.go │ ├── retriever/ │ │ ├── main.go │ │ ├── mock/ │ │ │ └── mockretriever.go │ │ └── real/ │ │ └── retriever.go │ ├── rpc/ │ │ ├── client/ │ │ │ └── main.go │ │ ├── rpc.go │ │ └── server/ │ │ └── main.go │ └── tree/ │ ├── node.go │ ├── traversal.go │ ├── treeentry/ │ │ └── entry.go │ └── treeentry_embedded/ │ └── entry.go └── mockserver/ ├── config/ │ └── config.go ├── generator/ │ ├── city/ │ │ ├── city.go │ │ ├── city_test.go │ │ └── city_tmpl.html │ ├── citylist/ │ │ ├── citylist.go │ │ ├── citylist_test.go │ │ └── citylist_tmpl.html │ └── profile/ │ ├── profile.go │ ├── profile_test.go │ └── profile_tmpl.html ├── main.go ├── recommendation/ │ ├── rcmd.go │ └── rcmd_test.go └── static/ ├── css/ │ └── blog.css ├── index.html └── instructions.html