{"version":1,"pages":[{"id":"lqG4HZkz30xV1Xvb3yXg","title":"Learn Go with Tests","pathname":"/learn-go-with-tests","siteSpaceId":"sitesp_p4Kwd","description":""},{"id":"-MQhBbt0iCKAG6Q7eQiF","title":"Install Go","pathname":"/learn-go-with-tests/go-fundamentals/install-go","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt1ggOgKIp0fQbp","title":"Hello, World","pathname":"/learn-go-with-tests/go-fundamentals/hello-world","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt26unrKJJqVmof","title":"Integers","pathname":"/learn-go-with-tests/go-fundamentals/integers","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt30xwt0eFC5scK","title":"Iteration","pathname":"/learn-go-with-tests/go-fundamentals/iteration","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt49Zw6xCQtyCHp","title":"Arrays and slices","pathname":"/learn-go-with-tests/go-fundamentals/arrays-and-slices","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt52XSdSE-zkgQQ","title":"Structs, methods & interfaces","pathname":"/learn-go-with-tests/go-fundamentals/structs-methods-and-interfaces","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt6A4eSnnwwSf2w","title":"Pointers & errors","pathname":"/learn-go-with-tests/go-fundamentals/pointers-and-errors","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt7ybh4BOydDO9G","title":"Maps","pathname":"/learn-go-with-tests/go-fundamentals/maps","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt8MKf1bJuCQOHO","title":"Dependency Injection","pathname":"/learn-go-with-tests/go-fundamentals/dependency-injection","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbt9K-SmAWAkROX0","title":"Mocking","pathname":"/learn-go-with-tests/go-fundamentals/mocking","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtASZkwa4sIX139","title":"Concurrency","pathname":"/learn-go-with-tests/go-fundamentals/concurrency","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtB7p7gQYSu_SYR","title":"Select","pathname":"/learn-go-with-tests/go-fundamentals/select","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtCTiUTUJ2QGAsO","title":"Reflection","pathname":"/learn-go-with-tests/go-fundamentals/reflection","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtDkZXxgG2YShLO","title":"Sync","pathname":"/learn-go-with-tests/go-fundamentals/sync","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtEGr7Rw2Ao5OaJ","title":"Context","pathname":"/learn-go-with-tests/go-fundamentals/context","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtF6ZLDwOAe4tER","title":"Intro to property based tests","pathname":"/learn-go-with-tests/go-fundamentals/roman-numerals","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MQhBbtGJhzi_ngsLSQ8","title":"Maths","pathname":"/learn-go-with-tests/go-fundamentals/math","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-MbuDtnibpmdVIbjjAVx","title":"Reading files","pathname":"/learn-go-with-tests/go-fundamentals/reading-files","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"YCznnAoovLxzbIVJC7yK","title":"Templating","pathname":"/learn-go-with-tests/go-fundamentals/html-templates","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"PIgeytPTCVNPN0LjFpf8","title":"Generics","pathname":"/learn-go-with-tests/go-fundamentals/generics","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"wpbCxfWOYmawpxh5kfzy","title":"Revisiting arrays and slices with generics","pathname":"/learn-go-with-tests/go-fundamentals/revisiting-arrays-and-slices-with-generics","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"acu6D4PmUaoNYOH3PrRl","title":"Introduction to acceptance tests","pathname":"/learn-go-with-tests/testing-fundamentals/intro-to-acceptance-tests","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Testing fundamentals"}]},{"id":"kFRNTHvgHPJA7YqU2Mvg","title":"Scaling acceptance tests","pathname":"/learn-go-with-tests/testing-fundamentals/scaling-acceptance-tests","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Testing fundamentals"}]},{"id":"BnOoRP1LgjcHl2NS1ywh","title":"Working without mocks","pathname":"/learn-go-with-tests/testing-fundamentals/working-without-mocks","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Testing fundamentals"}]},{"id":"DHi3SfdIxpMVdXU5x4ma","title":"Refactoring Checklist","pathname":"/learn-go-with-tests/testing-fundamentals/refactoring-checklist","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Testing fundamentals"}]},{"id":"-MQhBbtJ6bfKUT2mtAoz","title":"Intro","pathname":"/learn-go-with-tests/build-an-application/app-intro","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtKsRdkWpLkD24u","title":"HTTP server","pathname":"/learn-go-with-tests/build-an-application/http-server","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtLDqkaNAHvwV5w","title":"JSON, routing and embedding","pathname":"/learn-go-with-tests/build-an-application/json","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtMdG34d2z00Ruz","title":"IO and sorting","pathname":"/learn-go-with-tests/build-an-application/io","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtN8hP_Ha6cNsvz","title":"Command line & package structure","pathname":"/learn-go-with-tests/build-an-application/command-line","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtOOh2YE4ne-Uwu","title":"Time","pathname":"/learn-go-with-tests/build-an-application/time","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtP0qkELoanD_V4","title":"WebSockets","pathname":"/learn-go-with-tests/build-an-application/websockets","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-MQhBbtSXlnMtPe4mF1h","title":"OS Exec","pathname":"/learn-go-with-tests/questions-and-answers/os-exec","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-MQhBbtTdJQG4bK2COQ6","title":"Error types","pathname":"/learn-go-with-tests/questions-and-answers/error-types","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-MQhBbtUvU-n0aiFdERv","title":"Context-aware Reader","pathname":"/learn-go-with-tests/questions-and-answers/context-aware-reader","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-MQhBbtV8eu2aqPKkJq_","title":"Revisiting HTTP Handlers","pathname":"/learn-go-with-tests/questions-and-answers/http-handlers-revisited","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-MQhBbtYisTMBfTNX0P_","title":"Why unit tests and how to make them work for you","pathname":"/learn-go-with-tests/meta/why","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-MT-xQ_288WfRMS1ctLE","title":"Anti-patterns","pathname":"/learn-go-with-tests/meta/anti-patterns","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-MQhBbtZcmVupYJZt_wE","title":"Contributing","pathname":"/learn-go-with-tests/meta/contributing","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-MQhBbt_50Y1hkpzE3q-","title":"Chapter Template","pathname":"/learn-go-with-tests/meta/template","siteSpaceId":"sitesp_p4Kwd","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-L9Tqxa9ievLlYqeRoLq","title":"Learn Go with Tests","pathname":"/learn-go-with-tests/master","siteSpaceId":"sitesp_oiHlk","description":""},{"id":"-L9_Q912rH2YtHx8baor","title":"Install Go","pathname":"/learn-go-with-tests/master/go-fundamentals/install-go","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfspJ_d2oWaFlZWG","title":"Hello, World","pathname":"/learn-go-with-tests/master/go-fundamentals/hello-world","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfsnBsZpfKzpnLaj","title":"Integers","pathname":"/learn-go-with-tests/master/go-fundamentals/integers","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9Ttfsiogb_-wbrYwAE","title":"Iteration","pathname":"/learn-go-with-tests/master/go-fundamentals/iteration","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfrqYneHAlBCiEwA","title":"Arrays and slices","pathname":"/learn-go-with-tests/master/go-fundamentals/arrays-and-slices","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfscQp_87eKPeun5","title":"Structs, methods & interfaces","pathname":"/learn-go-with-tests/master/go-fundamentals/structs-methods-and-interfaces","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfsoQ_INd3m4ctlc","title":"Pointers & errors","pathname":"/learn-go-with-tests/master/go-fundamentals/pointers-and-errors","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LGdvkhI0lWzLQFqe1Nu","title":"Maps","pathname":"/learn-go-with-tests/master/go-fundamentals/maps","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9TtfshphwSCvP5R04e","title":"Dependency Injection","pathname":"/learn-go-with-tests/master/go-fundamentals/dependency-injection","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9U7jAgrjQUj5UzYE7B","title":"Mocking","pathname":"/learn-go-with-tests/master/go-fundamentals/mocking","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-L9zcgeU8rkrtaj8-73V","title":"Concurrency","pathname":"/learn-go-with-tests/master/go-fundamentals/concurrency","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LAOZ22tyamguAHFh2RW","title":"Select","pathname":"/learn-go-with-tests/master/go-fundamentals/select","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LGtA7IMFnCXyA2xXSyU","title":"Reflection","pathname":"/learn-go-with-tests/master/go-fundamentals/reflection","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LY7V4mITF42mLAQhpTa","title":"Sync","pathname":"/learn-go-with-tests/master/go-fundamentals/sync","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LYaq0hCLZ7Ys7NCkeD6","title":"Context","pathname":"/learn-go-with-tests/master/go-fundamentals/context","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LjMWPXCS9GFvufMFmeC","title":"Intro to property based tests","pathname":"/learn-go-with-tests/master/go-fundamentals/roman-numerals","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LjjDAyD_idk56kr3TqK","title":"Maths","pathname":"/learn-go-with-tests/master/go-fundamentals/math","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Go fundamentals"}]},{"id":"-LCES_FalGKfU0DRY8Ua","title":"Intro","pathname":"/learn-go-with-tests/master/build-an-application/app-intro","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LBAiM-zz2GZwdoYutmZ","title":"HTTP server","pathname":"/learn-go-with-tests/master/build-an-application/http-server","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LDMIe7MmlVsGsHBc-pP","title":"JSON, routing and embedding","pathname":"/learn-go-with-tests/master/build-an-application/json","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LFal5q64lHBPYnrO8bv","title":"IO and sorting","pathname":"/learn-go-with-tests/master/build-an-application/io","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LFalJJ71t67D3RUM13B","title":"Command line & package structure","pathname":"/learn-go-with-tests/master/build-an-application/command-line","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LK1WTnXNkreEaSa2SAA","title":"Time","pathname":"/learn-go-with-tests/master/build-an-application/time","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LXdoisJltgKfEQrSXo-","title":"WebSockets","pathname":"/learn-go-with-tests/master/build-an-application/websockets","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Build an application"}]},{"id":"-LV2d-1TVuf8f0psevQq","title":"OS Exec","pathname":"/learn-go-with-tests/master/questions-and-answers/os-exec","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-LXOUnmwDi8c2vS6JcHw","title":"Error types","pathname":"/learn-go-with-tests/master/questions-and-answers/error-types","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-M1tzGarTQsPc6BxS62E","title":"Context-aware Reader","pathname":"/learn-go-with-tests/master/questions-and-answers/context-aware-reader","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-M6j84Qdbs1NAYH10oaN","title":"Revisiting HTTP Handlers","pathname":"/learn-go-with-tests/master/questions-and-answers/http-handlers-revisited","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Questions and answers"}]},{"id":"-LXci_aqiECVJLnhfLqJ","title":"Why unit tests and how to make them work for you","pathname":"/learn-go-with-tests/master/meta/why","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-L9Ttfsm0IJ70UpFa_sh","title":"Contributing","pathname":"/learn-go-with-tests/master/meta/contributing","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Meta"}]},{"id":"-L9U4HCgyV5kyWtBYRPT","title":"Chapter Template","pathname":"/learn-go-with-tests/master/meta/template","siteSpaceId":"sitesp_oiHlk","description":"","breadcrumbs":[{"label":"Meta"}]}]}