{"version":1,"pages":[{"id":"L104uNC6XDRDKSmeaVWl","title":"Học Go qua Tests","pathname":"/learn-go-with-tests","siteSpaceId":"sitesp_N28LF","description":""},{"id":"lL65N3srYCooM8lXrnx0","title":"Cài đặt Go","pathname":"/learn-go-with-tests/go/install-go","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"HrdU4TkEtP9YVTxaZLHA","title":"Hello, World","pathname":"/learn-go-with-tests/go/hello-world","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"rArVTkExMnpUKVqn3uC5","title":"Integers","pathname":"/learn-go-with-tests/go/integers","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"A5izQPYgwJPqaSnPMQvY","title":"Vòng lặp","pathname":"/learn-go-with-tests/go/iteration","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"KXfPsiUssQTsKqcRMznX","title":"Arrays và slices","pathname":"/learn-go-with-tests/go/arrays-and-slices","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"nJftV2nnAIPpKcpWjJ1q","title":"Structs, methods & interfaces","pathname":"/learn-go-with-tests/go/structs-methods-and-interfaces","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"DY9zKnWTrTwnCXoYDjjb","title":"Con trỏ và xử lý lỗi","pathname":"/learn-go-with-tests/go/pointers-and-errors","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"HU6bZJ7vCtBaSgzzlPqt","title":"Maps","pathname":"/learn-go-with-tests/go/maps","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"AL8uGkXk6s8iaII3KocB","title":"Dependency Injection","pathname":"/learn-go-with-tests/go/dependency-injection","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"pOh62UClzWqUZWme2L8d","title":"Mocking","pathname":"/learn-go-with-tests/go/mocking","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"fVTp0Q8vOHqrth45zjQb","title":"Concurrency","pathname":"/learn-go-with-tests/go/concurrency","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"kpZ5qBhYV5jdBQ6XytIs","title":"Select","pathname":"/learn-go-with-tests/go/select","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"EuaXwfx1g5s8629Q1TJq","title":"Reflection","pathname":"/learn-go-with-tests/go/reflection","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"XbSX3q9BBdSlMj2M3kHF","title":"Sync","pathname":"/learn-go-with-tests/go/sync","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"1JFcG3ys6wDMlw2hci34","title":"Context","pathname":"/learn-go-with-tests/go/context","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"wIL5yrsOaFigN5NygA18","title":"Giới thiệu về property based tests","pathname":"/learn-go-with-tests/go/roman-numerals","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"rMQNZm5whuaYnqjB2ts2","title":"Toán học","pathname":"/learn-go-with-tests/go/math","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"cw4gSEJpyXm78x38O8Bf","title":"Đọc file","pathname":"/learn-go-with-tests/go/reading-files","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"QeErlxygbrf9uCeXsuzi","title":"HTML Templates","pathname":"/learn-go-with-tests/go/html-templates","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"kJTn1TI2F9e3Ig2EOyoE","title":"Generics","pathname":"/learn-go-with-tests/go/generics","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"tXLMYEG0hMSQ0Mkzx6VX","title":"Xem lại mảng và lát cắt với generics","pathname":"/learn-go-with-tests/go/revisiting-arrays-and-slices-with-generics","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Go"}]},{"id":"QJmuIraD3qC03OjWAuZD","title":"Introduction to acceptance tests","pathname":"/learn-go-with-tests/kiem-thu/intro-to-acceptance-tests","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Kiểm thử"}]},{"id":"nmffoYC7gco7x6nHCLsU","title":"Scaling acceptance tests","pathname":"/learn-go-with-tests/kiem-thu/scaling-acceptance-tests","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Kiểm thử"}]},{"id":"md44T2lUZ8qdoAQO9xyI","title":"Working without mocks","pathname":"/learn-go-with-tests/kiem-thu/working-without-mocks","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Kiểm thử"}]},{"id":"AcLcGXWiGS18m94jFTHl","title":"Refactoring Checklist","pathname":"/learn-go-with-tests/kiem-thu/refactoring-checklist","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Kiểm thử"}]},{"id":"AvrnRz393ZBF71pSTaxC","title":"Intro","pathname":"/learn-go-with-tests/phat-trien-ung-dung/app-intro","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"eZlMOvSvZMkJMtcdKNea","title":"HTTP server","pathname":"/learn-go-with-tests/phat-trien-ung-dung/http-server","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"ut6UfNkpfdIpWWJdLtkz","title":"JSON, định tuyến và nhúng kiểu","pathname":"/learn-go-with-tests/phat-trien-ung-dung/json","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"nbjOYvWQZL26mKPPC8Lk","title":"IO và sắp xếp","pathname":"/learn-go-with-tests/phat-trien-ung-dung/io","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"MRZ2rL3CloskDR7E1oKC","title":"Giao diện dòng lệnh và cấu trúc dự án","pathname":"/learn-go-with-tests/phat-trien-ung-dung/command-line","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"3QxWL7gomsjLYaI4lSSI","title":"Time","pathname":"/learn-go-with-tests/phat-trien-ung-dung/time","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"zVCeHrgsSGBo5D70s59a","title":"WebSockets","pathname":"/learn-go-with-tests/phat-trien-ung-dung/websockets","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Phát triển ứng dụng"}]},{"id":"g2mSmYveohHDS6q31Dgg","title":"OS Exec","pathname":"/learn-go-with-tests/hoi-dap-q-and-a/os-exec","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Hỏi đáp Q&A"}]},{"id":"aWL0iDht5xbVeCQw8r6e","title":"Error types","pathname":"/learn-go-with-tests/hoi-dap-q-and-a/error-types","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Hỏi đáp Q&A"}]},{"id":"TJLPF9D2BJkzteiGxchn","title":"Context-aware Reader","pathname":"/learn-go-with-tests/hoi-dap-q-and-a/context-aware-reader","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Hỏi đáp Q&A"}]},{"id":"XVwijizZcFx5ZFGy1niH","title":"Revisiting HTTP Handlers","pathname":"/learn-go-with-tests/hoi-dap-q-and-a/http-handlers-revisited","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Hỏi đáp Q&A"}]},{"id":"C1GQHDAeJJPQvdxwuAQb","title":"Tại sao cần kiểm thử đơn vị (Unit Test) và cách tận dụng chúng hiệu quả","pathname":"/learn-go-with-tests/tong-quan/why","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Tổng quan"}]},{"id":"ZuqEtHTsARrrpTGqKOow","title":"Anti-patterns","pathname":"/learn-go-with-tests/tong-quan/anti-patterns","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Tổng quan"}]},{"id":"8W4chvnTRIlUL8DPsx2s","title":"Đóng góp","pathname":"/learn-go-with-tests/tong-quan/contributing","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Tổng quan"}]},{"id":"S2tg44hYOAdIHI6VYCRm","title":"Chapter Template","pathname":"/learn-go-with-tests/tong-quan/template","siteSpaceId":"sitesp_N28LF","description":"","breadcrumbs":[{"label":"Tổng quan"}]}]}