Directories ¶ Show internal Expand all Path Synopsis golangtraining 01_getting-started/01_helloWorld 01_getting-started/01_helloWorld/compare_file 01_getting-started/02_numeral-systems/01_decimal 01_getting-started/02_numeral-systems/02_binary 01_getting-started/02_numeral-systems/03_hexadecimal 01_getting-started/02_numeral-systems/04_loop 01_getting-started/03_UTF-8 02_package/icomefromalaska 02_package/main 02_package/stringutil 03_variables/01_shorthand/01 03_variables/01_shorthand/02 03_variables/02_var_zero-value 03_variables/03_less-emphasis/01_declare-variable 03_variables/03_less-emphasis/02_declare-many-at-once 03_variables/03_less-emphasis/03_init-many-at-once 03_variables/03_less-emphasis/04_infer-type 03_variables/03_less-emphasis/05_infer-mixed-up-types 03_variables/03_less-emphasis/06_init-shorthand 03_variables/03_less-emphasis/07_all-together 03_variables/03_less-emphasis/08_exercise_your-name/01_oneSolution 03_variables/03_less-emphasis/08_exercise_your-name/02_anotherSolution 03_variables/03_less-emphasis/08_exercise_your-name/03_anotherSolution 03_variables/03_less-emphasis/08_exercise_your-name/04_anotherSolution 04_scope/01_package-scope/01 04_scope/01_package-scope/02_visibility/main 04_scope/01_package-scope/02_visibility/vis 04_scope/02_block-scope/01_this-does-not-compile 04_scope/02_block-scope/02_closure/01 04_scope/02_block-scope/02_closure/02 04_scope/02_block-scope/02_closure/03 04_scope/02_block-scope/02_closure/04 04_scope/03_order-matters 04_scope/04_variable-shadowing 04_scope/05_same-package 05_blank-identifier/01_invalid-code 05_blank-identifier/02_http-get_example/01_with-error-checking 05_blank-identifier/02_http-get_example/02_no-error-checking 06_constants/01_constant 06_constants/02_multiple-initialization 06_constants/03_iota 06_constants/04_iota 06_constants/05_iota 06_constants/06_iota 06_constants/07_iota 07_memory-address/01_showing-address 07_memory-address/02_using-address 08_pointers/01_referencing 08_pointers/02_dereferencing 08_pointers/03_using-pointers 08_pointers/04_using-pointers/01_no-pointer/01 08_pointers/04_using-pointers/01_no-pointer/02_see-the-addresses 08_pointers/04_using-pointers/02_pointer/01 08_pointers/04_using-pointers/02_pointer/02_see-the-addresses 09_remainder 10_for-loop/01_init-condition-post 10_for-loop/02_nested 10_for-loop/03_for-condition-while-ish 10_for-loop/04_for_no-condition 10_for-loop/05_for_break 10_for-loop/06_for_continue 10_for-loop/07_rune-loop_UTF8/01 10_for-loop/07_rune-loop_UTF8/02 10_for-loop/08_loop_labeling 11_switch-statements/01_switch 11_switch-statements/02_fallthrough 11_switch-statements/03_multiple-evals 11_switch-statements/04_no-expression 11_switch-statements/05_on-type 12_if_else-if_else/01_eval-true 12_if_else-if_else/02_not-exclamation 12_if_else-if_else/03_init-statement 12_if_else-if_else/04_init-statement_error_invalid-code 12_if_else-if_else/05_if-else 12_if_else-if_else/06_if-elseif-else 12_if_else-if_else/07_if-elseif-elseif-else 12_if_else-if_else/08_divisibleByThree 13_exercise-solutions/01_hello-world 13_exercise-solutions/02_hello-NAME 13_exercise-solutions/03_hello-user-input 13_exercise-solutions/04_user-enters-numbers 13_exercise-solutions/05_even-numbers 13_exercise-solutions/06_fizzBuzz 13_exercise-solutions/07_threeFive 13_exercise-solutions/08_just-fyi/03_utf 14_functions/01_main 14_functions/02_param-arg 14_functions/03_two-params/01 14_functions/03_two-params/02 14_functions/04_return 14_functions/05_return-naming 14_functions/06_return-multiple 14_functions/07_variadic-params 14_functions/08_variadic-args 14_functions/09_slice-param-arg 14_functions/10_func-expression/01_before-func-expression 14_functions/10_func-expression/02_func-expression 14_functions/10_func-expression/03_func-expression_shows-type 14_functions/10_func-expression/04_another-way_func-expression 14_functions/10_func-expression/05_another-way_func-expression_shows-type 14_functions/11_closure/01 14_functions/11_closure/02 14_functions/11_closure/03 14_functions/11_closure/04 14_functions/11_closure/05 14_functions/12_callbacks/01_print-nums 14_functions/12_callbacks/02_filter-nums 14_functions/13_recursion 14_functions/14_defer/01_no-defer 14_functions/14_defer/02_with-defer 14_functions/15_passing-by-value/01_int 14_functions/15_passing-by-value/02_int-pointer 14_functions/15_passing-by-value/03_string 14_functions/15_passing-by-value/04_string-pointer 14_functions/15_passing-by-value/05_REFERENCE-TYPE 14_functions/15_passing-by-value/06_REFERENCE-TYPE 14_functions/15_passing-by-value/07_struct-pointer 14_functions/16_anon_self-executing 15_bool-expressions/01_true-false 15_bool-expressions/02_not 15_bool-expressions/03_or 15_bool-expressions/04_and 16_exercise-solutions/01_half/01 16_exercise-solutions/01_half/02 16_exercise-solutions/02_func-expression 16_exercise-solutions/03_variadic-greatest 16_exercise-solutions/04_bool-expression 16_exercise-solutions/05_params-and-args 17_array/01 17_array/02 17_array/03 17_array/04 17_array/05 18_slice/01_int-slice 18_slice/02_int-slice 18_slice/03_int-slice 18_slice/04_string-slice 18_slice/05_slicing-a-slice/01 18_slice/05_slicing-a-slice/02 18_slice/06_make 18_slice/07_append-invalid 18_slice/08_append 18_slice/09_append-beyond-capacity 18_slice/10_append_slice-to-slice/01_slice-of-ints 18_slice/10_append_slice-to-slice/02_slice-of-strings 18_slice/11_delete 18_slice/12_multi-dimensional/01_shorthand-slice 18_slice/12_multi-dimensional/02_var-slice 18_slice/12_multi-dimensional/03_make-slice 18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/01_shorthand-slice 18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/02_var-slice 18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/03_make-slice 18_slice/12_multi-dimensional/05_slice-of-slice-of-string 18_slice/12_multi-dimensional/06_slice-of-slice-of-int 18_slice/13_int-slice-plus-plus 19_map/01_var_nil-map 19_map/02_var_make 19_map/03_shorthand_make 19_map/04_shorthand_composite-literal 19_map/05_shorthand_composite-literal 19_map/06_adding-entry 19_map/07_len 19_map/08_updating-entry 19_map/09_deleting-entry 19_map/10_comma-ok-idiom_val-exists 19_map/11_deleting-entry_no-error 19_map/12_comma-ok-idiom_val-not-exists 19_map/13_loop-range 19_map/14_hash-table/01_letter-buckets/01_runes-are-numbers 19_map/14_hash-table/01_letter-buckets/02_strings-to-rune-conversion 19_map/14_hash-table/01_letter-buckets/03_string-index-access 19_map/14_hash-table/01_letter-buckets/04_remainder-bucket-selection 19_map/14_hash-table/01_letter-buckets/05_hash-function 19_map/14_hash-table/01_letter-buckets/06_get 19_map/14_hash-table/01_letter-buckets/07_scanner 19_map/14_hash-table/01_letter-buckets/08_moby-dicks-words 19_map/14_hash-table/01_letter-buckets/09_int-slice-plus-plus 19_map/14_hash-table/01_letter-buckets/10_hash-letter-buckets 19_map/14_hash-table/01_letter-buckets/11_hash-remainder-buckets 19_map/14_hash-table/02_even-dstribution-hash 19_map/14_hash-table/03_words-in-buckets/01_slice-bucket 19_map/14_hash-table/03_words-in-buckets/02_map-bucket 19_map/14_hash-table/04_english-alphabet/01 19_map/14_hash-table/04_english-alphabet/02 20_struct/01_user-defined-types/01_alias-type_not-idiomatic 20_struct/01_user-defined-types/02_static-typing 20_struct/02_struct_fields_values_initialization 20_struct/03_methods 20_struct/04_embedded-types 20_struct/05_promotion/01_overriding-fields 20_struct/05_promotion/02_overriding-methods 20_struct/06_struct-pointer 20_struct/07_marshal_unmarshal/01_marshal/01_exported 20_struct/07_marshal_unmarshal/01_marshal/02_unexported 20_struct/07_marshal_unmarshal/01_marshal/03_tags 20_struct/07_marshal_unmarshal/02_unmarshal/01 20_struct/07_marshal_unmarshal/02_unmarshal/02_tags 20_struct/08_encode_decode/01_encode 20_struct/08_encode_decode/02_decode 21_interfaces/01_interface/01_no-interface 21_interfaces/01_interface/02_interface 21_interfaces/01_interface/03_interface 21_interfaces/01_interface/04_interface 21_interfaces/01_interface/05_io-copy/01_no-error-checking 21_interfaces/01_interface/05_io-copy/02_error-checking 21_interfaces/02_package-sort/01_sort-names 21_interfaces/02_package-sort/02_sort-names_type-StringSlice 21_interfaces/02_package-sort/03_sort-Strings 21_interfaces/02_package-sort/04_sort-names_type-StringSlice_reverse 21_interfaces/02_package-sort/05_sort-int_type-IntSlice 21_interfaces/02_package-sort/06_sort-int_type-IntSlice_reverse 21_interfaces/02_package-sort/07_sort-Ints 21_interfaces/02_package-sort/08_standard-library-example 21_interfaces/03_empty-interface/01_no-interface 21_interfaces/03_empty-interface/02_empty-interface 21_interfaces/03_empty-interface/03_param-accepts-any-type 21_interfaces/03_empty-interface/04_slice-of-any-type 21_interfaces/04_method-sets/01_value-receiver_value-type 21_interfaces/04_method-sets/02_value-receiver_pointer-type 21_interfaces/04_method-sets/03_pointer-receiver_pointer-type 21_interfaces/04_method-sets/04_pointer-receiver_value-type 21_interfaces/05_conversion-vs-assertion/01_conversion/01_int-to-float 21_interfaces/05_conversion-vs-assertion/01_conversion/02_float-to-int 21_interfaces/05_conversion-vs-assertion/01_conversion/03_rune-to-string 21_interfaces/05_conversion-vs-assertion/01_conversion/04_rune-to-slice-of-bytes-to-string 21_interfaces/05_conversion-vs-assertion/01_conversion/05_string-to-slice-of-bytes 21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/01_Atoi 21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/02_Itoa 21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/03_ParseInt 21_interfaces/05_conversion-vs-assertion/02_assertion/01_non-interface-error_invalid-code 21_interfaces/05_conversion-vs-assertion/02_assertion/02_interface-string 21_interfaces/05_conversion-vs-assertion/02_assertion/03_interface-string_not-ok 21_interfaces/05_conversion-vs-assertion/02_assertion/04_interface-int_print-type 21_interfaces/05_conversion-vs-assertion/02_assertion/05_interface-int_mistmatched-types-error 21_interfaces/05_conversion-vs-assertion/02_assertion/06_interface-int-sum 21_interfaces/05_conversion-vs-assertion/02_assertion/07_casting-reminder 21_interfaces/05_conversion-vs-assertion/02_assertion/08_interface-cast-error_need-type-assertion 22_go-routines/01_no-go 22_go-routines/02_go_concurrency 22_go-routines/03_wait-group 22_go-routines/04_time-sleep 22_go-routines/05_gomaxprocs_parallelism 22_go-routines/06_race-condition 22_go-routines/07_mutex 22_go-routines/08_atomicity 22_go-routines/09_channels/00_unbuffered-channels-block 22_go-routines/09_channels/01_range 22_go-routines/09_channels/02_n-to-1/01_race-condition 22_go-routines/09_channels/02_n-to-1/02_wait-group 22_go-routines/09_channels/02_n-to-1/03_semaphore 22_go-routines/09_channels/02_n-to-1/04_semaphore_wrong-way 22_go-routines/09_channels/02_n-to-1/05_n-times_to_1 22_go-routines/09_channels/03_1-to-n/01_1_to_2-times 22_go-routines/09_channels/03_1-to-n/02_1_to_n-times 22_go-routines/09_channels/04_pass-return-channels 22_go-routines/09_channels/05_channel-direction 22_go-routines/09_channels/06_refactor 22_go-routines/09_channels/07_incrementor 22_go-routines/09_channels/08_closures/01_no-closure-binding 22_go-routines/09_channels/08_closures/02_closure-binding 22_go-routines/09_channels/08_closures/03_closure-binding 22_go-routines/10_deadlock-challenges/01_deadlock-challenge 22_go-routines/10_deadlock-challenges/02_deadlock-solution 22_go-routines/10_deadlock-challenges/03_deadlock-challenge 22_go-routines/10_deadlock-challenges/04_deadlock-challenge 22_go-routines/10_deadlock-challenges/05_deadlock-solution 22_go-routines/11_factorial-challenge/01_challenge-description 22_go-routines/11_factorial-challenge/02_challenge-solution 22_go-routines/12_channels_pipeline/01_sq-output 22_go-routines/12_channels_pipeline/02_sq-output 22_go-routines/12_channels_pipeline/03_challenge-description 22_go-routines/12_channels_pipeline/04_challenge-solution/01_original-solution 22_go-routines/12_channels_pipeline/04_challenge-solution/02_another-solution 22_go-routines/13_channels_fan-out_fan-in/01_boring 22_go-routines/13_channels_fan-out_fan-in/02_sq-output 22_go-routines/13_channels_fan-out_fan-in/03_sq-output_variation 22_go-routines/13_channels_fan-out_fan-in/04_challenge-description 22_go-routines/13_channels_fan-out_fan-in/05_challenge-solution 22_go-routines/13_channels_fan-out_fan-in/06_challenge-description 22_go-routines/13_channels_fan-out_fan-in/07_challenge-solution 22_go-routines/13_channels_fan-out_fan-in/08_challenge-description 22_go-routines/13_channels_fan-out_fan-in/09_challenge-solution/01_troubleshooting-step 22_go-routines/13_channels_fan-out_fan-in/09_challenge-solution/02_solution 22_go-routines/13_channels_fan-out_fan-in/10_van-sickle_fan-out_fan-in 22_go-routines/14_incrementor-challenge/01_description 22_go-routines/14_incrementor-challenge/02_solution 22_go-routines/15_for-fun/01 23_error-handling/01_golint/01_before 23_error-handling/01_golint/02_after 23_error-handling/02_err-not-nil/01_fmt-println 23_error-handling/02_err-not-nil/02_log-println 23_error-handling/02_err-not-nil/03_log-set-output 23_error-handling/02_err-not-nil/04_log-fatalln 23_error-handling/02_err-not-nil/05_panic 23_error-handling/03_custom-errors/01_errors-new 23_error-handling/03_custom-errors/02_errors-new_var 23_error-handling/03_custom-errors/03_fmt-errorf 23_error-handling/03_custom-errors/04_fmt-errorf_var 23_error-handling/03_custom-errors/05_custom-type 24_testing 25_code-walk 25_code-walk/with-comments 26_QUESTIONS-FROM-STUDENTS/01-package-scope 26_QUESTIONS-FROM-STUDENTS/02-goroutines-printing 26_QUESTIONS-FROM-STUDENTS/03-range-chan 26_QUESTIONS-FROM-STUDENTS/04_goroutines_closing-chan/01_broken-code 26_QUESTIONS-FROM-STUDENTS/04_goroutines_closing-chan/02_fixed-code 26_QUESTIONS-FROM-STUDENTS/05_concurrency-channels 26_QUESTIONS-FROM-STUDENTS/06_performance-ramifications/01_called 26_QUESTIONS-FROM-STUDENTS/06_performance-ramifications/02_not-called 27_code-in-process/26_playing-with-type/00_types/01_division/01_int-int 27_code-in-process/26_playing-with-type/00_types/01_division/02_int-float 27_code-in-process/26_playing-with-type/00_types/01_division/03_var_int-float 27_code-in-process/26_playing-with-type/00_types/01_division/04_var_int-float_invalid-code 27_code-in-process/26_playing-with-type/00_types/02_strings/01_escape-sequences 27_code-in-process/26_playing-with-type/00_types/02_strings/02_sequence-of-bytes 27_code-in-process/26_playing-with-type/00_types/02_strings/03_immutable 27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/01_len-english 27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/02_len-chinese 27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/03_binary 27_code-in-process/26_playing-with-type/00_types/02_strings/05_index-access 27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/01 27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/02 27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/03_invalid_negative-index 27_code-in-process/26_playing-with-type/00_types/02_strings/07_concatenation 27_code-in-process/26_playing-with-type/00_types/03_strconv/01_itoa 27_code-in-process/26_playing-with-type/00_types/03_strconv/02_fmt-sprint 27_code-in-process/26_playing-with-type/00_types/03_strconv/03_atoi 27_code-in-process/26_playing-with-type/00_types/06_math-pkg 27_code-in-process/26_playing-with-type/00_types/07_typeOf/01_better-code 27_code-in-process/26_playing-with-type/00_types/07_typeOf/02_worse-code 27_code-in-process/26_playing-with-type/01_struct 27_code-in-process/26_playing-with-type/02_string 27_code-in-process/26_playing-with-type/03_string-conversion 27_code-in-process/26_playing-with-type/04_string_assertion_invalid-code 27_code-in-process/26_playing-with-type/05_var-for-zero-val-initalization 27_code-in-process/26_playing-with-type/06_shorthand-notation_nonzero-initalization 27_code-in-process/26_playing-with-type/xx05_slice-strings 27_code-in-process/26_playing-with-type/xx06_slice-strings_conversion 27_code-in-process/26_playing-with-type/xx07_int 27_code-in-process/26_playing-with-type/xx08_slice-ints 27_code-in-process/27_package-os/00_args 27_code-in-process/27_package-os/01_Read/01 27_code-in-process/27_package-os/02_Write/01 27_code-in-process/27_package-os/02_Write/02 27_code-in-process/27_package-os/02_Write/03_absolute-path 27_code-in-process/27_package-os/03_mkdir/01 27_code-in-process/27_package-os/03_mkdir/02 27_code-in-process/27_package-os/04_FileMode/01 27_code-in-process/27_package-os/04_FileMode/02 27_code-in-process/27_package-os/05_file-open 27_code-in-process/27_package-os/06_file-create 27_code-in-process/27_package-os/07_Stdout_Stdin/01 27_code-in-process/27_package-os/07_Stdout_Stdin/02 27_code-in-process/28_package-strings/01_strings 27_code-in-process/28_package-strings/02_NewReader 27_code-in-process/29_package-bufio/01_NewReader 27_code-in-process/29_package-bufio/02_NewScanner 27_code-in-process/29_package-bufio/03_scan-lines/01 27_code-in-process/29_package-bufio/03_scan-lines/02 27_code-in-process/29_package-bufio/04_scan-words/01 27_code-in-process/29_package-bufio/04_scan-words/02 27_code-in-process/29_package-bufio/04_scan-words/03 27_code-in-process/30_package-io/01_copy 27_code-in-process/30_package-io/02_copy 27_code-in-process/30_package-io/03_copy 27_code-in-process/30_package-io/04_TeeReader/01 27_code-in-process/30_package-io/04_TeeReader/02 27_code-in-process/30_package-io/05_ReadFull 27_code-in-process/30_package-io/06_LimitReader 27_code-in-process/30_package-io/07_WriteString/01_one-way 27_code-in-process/30_package-io/07_WriteString/02_another-way 27_code-in-process/31_package-ioutil/00_ReadAll 27_code-in-process/31_package-ioutil/01_ReadAll 27_code-in-process/31_package-ioutil/02_WriteFile 27_code-in-process/31_package-ioutil/03_ReadAll_WriteFile 27_code-in-process/32_package-encoding-csv/01_NewReader 27_code-in-process/32_package-encoding-csv/02_column-headings 27_code-in-process/32_package-encoding-csv/03_panics 27_code-in-process/32_package-encoding-csv/04_parse-state 27_code-in-process/32_package-encoding-csv/05_state-lookup 27_code-in-process/32_package-encoding-csv/06_write-to-html 27_code-in-process/32_package-encoding-csv/07_NewReader 27_code-in-process/33_package-path-filepath/01_Walk 27_code-in-process/33_package-path-filepath/02_Walk 27_code-in-process/33_package-path-filepath/03_Walk 27_code-in-process/33_package-path-filepath/04_Walk 27_code-in-process/34_package-time/01_now 27_code-in-process/34_package-time/02_time-parse/01 27_code-in-process/34_package-time/02_time-parse/02 27_code-in-process/34_package-time/03_format 27_code-in-process/34_package-time/04_date-diff 27_code-in-process/35_hash/01_FNV/01 27_code-in-process/35_hash/01_FNV/02 27_code-in-process/35_hash/02_MD5/01 27_code-in-process/35_hash/02_MD5/02 27_code-in-process/36_package-filepath/01_walk 27_code-in-process/37_review-exercises/01_gravatar 27_code-in-process/37_review-exercises/02_word-count 27_code-in-process/37_review-exercises/03_centered_average 27_code-in-process/37_review-exercises/04_swap-two_pointers 27_code-in-process/37_review-exercises/05_clumps 27_code-in-process/37_review-exercises/06_cat 27_code-in-process/37_review-exercises/07_copy 27_code-in-process/37_review-exercises/08_cp/01 27_code-in-process/37_review-exercises/08_cp/02 27_code-in-process/37_review-exercises/08_cp/03 27_code-in-process/37_review-exercises/08_cp/04_io-copy 27_code-in-process/37_review-exercises/08_cp/05_os-write_slice-bytes 27_code-in-process/37_review-exercises/08_cp/06_io-copy_string-NewReader 27_code-in-process/37_review-exercises/08_cp/07_io-copy_bufio-NewReader 27_code-in-process/37_review-exercises/08_cp/08_bufio_scanner 27_code-in-process/37_review-exercises/09_sentence-case 27_code-in-process/37_review-exercises/10_every-word 27_code-in-process/37_review-exercises/11_every-other-word 27_code-in-process/37_review-exercises/12_count-words 27_code-in-process/37_review-exercises/13_longest-word 27_code-in-process/37_review-exercises/14_cat-files/01 27_code-in-process/37_review-exercises/14_cat-files/02 27_code-in-process/37_review-exercises/15_csv_state-info/step01_read-and-output 27_code-in-process/37_review-exercises/15_csv_state-info/step02_column-headings 27_code-in-process/37_review-exercises/15_csv_state-info/step03_panics 27_code-in-process/37_review-exercises/15_csv_state-info/step04_parse-state 27_code-in-process/37_review-exercises/15_csv_state-info/step05_state-lookup 27_code-in-process/37_review-exercises/15_csv_state-info/step06_write-to-html 27_code-in-process/37_review-exercises/16_csv_stock-prices/step01_stdout 27_code-in-process/37_review-exercises/16_csv_stock-prices/step02_html 27_code-in-process/37_review-exercises/16_csv_stock-prices/step03_charting 27_code-in-process/37_review-exercises/17_MD5-checksum 27_code-in-process/37_review-exercises/18_Walk-dir 27_code-in-process/38_JSON/01 27_code-in-process/38_JSON/02 27_code-in-process/38_JSON/03 27_code-in-process/38_JSON/04 27_code-in-process/38_JSON/05 27_code-in-process/38_JSON/06 27_code-in-process/38_JSON/07 27_code-in-process/38_JSON/08 27_code-in-process/38_JSON/09 27_code-in-process/38_JSON/10 27_code-in-process/38_JSON/11 27_code-in-process/38_JSON/12 27_code-in-process/38_JSON/13 27_code-in-process/38_JSON/14 27_code-in-process/38_JSON/15 27_code-in-process/38_JSON/15_exercise_csv-to-JSON/01 27_code-in-process/38_JSON/15_exercise_csv-to-JSON/02 27_code-in-process/38_JSON/16 27_code-in-process/38_JSON/17 27_code-in-process/39_packages/hello 27_code-in-process/39_packages/main 27_code-in-process/40_testing/01 27_code-in-process/40_testing/01/example 27_code-in-process/40_testing/02 27_code-in-process/40_testing/02/example 27_code-in-process/41_TCP/02_listen 27_code-in-process/41_TCP/03_dial 27_code-in-process/41_TCP/04_echo-server/v01 27_code-in-process/41_TCP/04_echo-server/v02 27_code-in-process/41_TCP/04_echo-server/v03 27_code-in-process/41_TCP/04_echo-server/v04 27_code-in-process/41_TCP/05_redis-clone/i01 27_code-in-process/41_TCP/05_redis-clone/i02 27_code-in-process/41_TCP/05_redis-clone/i03 27_code-in-process/41_TCP/05_redis-clone/i04 27_code-in-process/41_TCP/05_redis-clone/i05_code-issue 27_code-in-process/41_TCP/05_redis-clone/i06 27_code-in-process/41_TCP/06_rot13-server/v01-todd 27_code-in-process/41_TCP/06_rot13-server/v02-caleb 27_code-in-process/41_TCP/06_rot13-server/v03-daniel 27_code-in-process/41_TCP/07_chat-server 27_code-in-process/42_HTTP/01_header 27_code-in-process/42_HTTP/02_http-server/i01 27_code-in-process/42_HTTP/02_http-server/i02 27_code-in-process/42_HTTP/02_http-server/i03 27_code-in-process/42_HTTP/02_http-server/i04_POST 27_code-in-process/42_HTTP/02_http-server/i05_not-writing_error-in-code 27_code-in-process/42_HTTP/02_http-server/i06_PLAIN-TEXT 27_code-in-process/42_HTTP/02_http-server/i07_Location 27_code-in-process/42_HTTP/03_http-server_return-URL 27_code-in-process/43_HTTP-server/01/i01 27_code-in-process/43_HTTP-server/01/i02 27_code-in-process/43_HTTP-server/02_requestURI/01 27_code-in-process/43_HTTP-server/02_requestURI/02 27_code-in-process/43_HTTP-server/03_restful/01 27_code-in-process/43_HTTP-server/03_restful/02 27_code-in-process/43_HTTP-server/03_restful/03 27_code-in-process/44_MUX_routing/01 27_code-in-process/44_MUX_routing/02 27_code-in-process/44_MUX_routing/03 27_code-in-process/44_MUX_routing/04 27_code-in-process/44_MUX_routing/05 27_code-in-process/44_MUX_routing/06_HandleFunc 27_code-in-process/44_MUX_routing/07_HandleFunc 27_code-in-process/44_MUX_routing/08_HandleFunc 27_code-in-process/45_serving-files/01 27_code-in-process/45_serving-files/02 27_code-in-process/45_serving-files/03 27_code-in-process/45_serving-files/04_io-Copy 27_code-in-process/45_serving-files/05_ServeContent 27_code-in-process/45_serving-files/06_ServeFile 27_code-in-process/45_serving-files/07_FileServer 27_code-in-process/45_serving-files/08_FileServer 27_code-in-process/45_serving-files/09_FileServer 27_code-in-process/45_serving-files/10_static-file-server 27_code-in-process/45_serving-files/11_static-file-server 27_code-in-process/46_errata/01_set-header 27_code-in-process/46_errata/02_URL 27_code-in-process/46_errata/03_URL 27_code-in-process/46_errata/04_URL 27_code-in-process/46_errata/05_ServeFile 27_code-in-process/47_templates/01_text-templates/01 27_code-in-process/47_templates/01_text-templates/02 27_code-in-process/47_templates/01_text-templates/03 27_code-in-process/47_templates/01_text-templates/04 27_code-in-process/47_templates/01_text-templates/05 27_code-in-process/47_templates/01_text-templates/06 27_code-in-process/47_templates/01_text-templates/07 27_code-in-process/47_templates/01_text-templates/08 27_code-in-process/47_templates/01_text-templates/09_function 27_code-in-process/47_templates/01_text-templates/10_function 27_code-in-process/47_templates/01_text-templates/11 27_code-in-process/47_templates/02_html-templates/01 27_code-in-process/47_templates/02_html-templates/02 27_code-in-process/47_templates/02_html-templates/03 27_code-in-process/47_templates/02_html-templates/04 27_code-in-process/47_templates/02_html-templates/05 27_code-in-process/47_templates/x03_exercises/01 27_code-in-process/47_templates/x03_exercises/02 27_code-in-process/47_templates/x03_exercises/03_template_csv-parse 27_code-in-process/47_templates/x03_exercises/03_template_csv-parse/parse 27_code-in-process/48_passing-data/01_URL-values 27_code-in-process/48_passing-data/02_form-values 27_code-in-process/48_passing-data/03_form-values 27_code-in-process/48_passing-data/04_form-values 27_code-in-process/48_passing-data/05_form-values 27_code-in-process/48_passing-data/06_form-values/01 27_code-in-process/48_passing-data/06_form-values/02 27_code-in-process/48_passing-data/07_form-data 27_code-in-process/48_passing-data/08_form_file-upload/01 27_code-in-process/48_passing-data/08_form_file-upload/02 27_code-in-process/48_passing-data/08_form_file-upload/03 27_code-in-process/48_passing-data/08_form_file-upload/04 27_code-in-process/49_cookies-sessions/01_set-cookie 27_code-in-process/49_cookies-sessions/02_get-cookie 27_code-in-process/49_cookies-sessions/03_sessions 27_code-in-process/49_cookies-sessions/04_sessions 27_code-in-process/49_cookies-sessions/05_sessions-HMAC/01 27_code-in-process/49_cookies-sessions/05_sessions-HMAC/02 27_code-in-process/49_cookies-sessions/06_sessions_GORILLA 27_code-in-process/49_cookies-sessions/07_cookies_show-visits 27_code-in-process/49_cookies-sessions/08_log-in-out 27_code-in-process/49_cookies-sessions/09_HTTPS-TLS 27_code-in-process/49_cookies-sessions/10_HTTPS-TLS 27_code-in-process/49_cookies-sessions/11_HTTPS-TLS 27_code-in-process/49_cookies-sessions/12_GORILLA_photo-blog 27_code-in-process/50_exif 27_code-in-process/51_appengine-introduction/01_hello-world 27_code-in-process/51_appengine-introduction/02_photo-blog_somewhat-crappy-code-FYI 27_code-in-process/51_appengine-introduction/03_google-maps-api 27_code-in-process/51_appengine-introduction/04_SERVICE_users 27_code-in-process/51_appengine-introduction/05_GORILLA_photo-blog 27_code-in-process/52_memcache/01_get-nil 27_code-in-process/52_memcache/02_set_get 27_code-in-process/52_memcache/03_expiration 27_code-in-process/52_memcache/04_increment 27_code-in-process/52_memcache/05_memcache-session/01i 27_code-in-process/52_memcache/05_memcache-session/02i 27_code-in-process/52_memcache/05_memcache-session/03i 27_code-in-process/52_memcache/05_memcache-session/04i 27_code-in-process/52_memcache/05_memcache-session/05i 27_code-in-process/53_datastore/00_appengine-documentation-example/01_with-modifications 27_code-in-process/53_datastore/00_appengine-documentation-example/02_as-in-documentation 27_code-in-process/53_datastore/00_appengine-documentation-example/03_no-favicon 27_code-in-process/53_datastore/00_appengine-documentation-example/04_no-favicon 27_code-in-process/53_datastore/01_partial-example_does-not-run 27_code-in-process/53_datastore/02/01_put 27_code-in-process/53_datastore/02/02 27_code-in-process/53_datastore/02/03_get 27_code-in-process/53_datastore/02/04_query-filter 27_code-in-process/53_datastore/02/05_query-ancestor 27_code-in-process/53_datastore/03_users_datastore_exercise 27_code-in-process/53_datastore/04_julien-schmidt-router/01 27_code-in-process/53_datastore/04_julien-schmidt-router/02-with-appengine 27_code-in-process/54_AJAX/02_users_datastore_exercise_AJAX 27_code-in-process/55_todo-list/01v_content-editable 27_code-in-process/55_todo-list/02v_input 27_code-in-process/56_twitter/02_ListenAndServe 27_code-in-process/56_twitter/03_error-handling 27_code-in-process/56_twitter/04_template_abstraction 27_code-in-process/56_twitter/05_document 27_code-in-process/56_twitter/06_document 27_code-in-process/56_twitter/07_app-engine 27_code-in-process/56_twitter/08_julien-schmidt 27_code-in-process/56_twitter/09_login-form 27_code-in-process/56_twitter/10_signup-form-validate/01v_form-validation 27_code-in-process/56_twitter/10_signup-form-validate/02v_datastore-put 27_code-in-process/56_twitter/11_HTTPS-TLS 27_code-in-process/56_twitter/12_error-handling 27_code-in-process/56_twitter/13_login_unfinished 27_code-in-process/56_twitter/14_code-review 27_code-in-process/56_twitter/15_memcache-home 27_code-in-process/56_twitter/16_abstract-memcache-code 27_code-in-process/56_twitter/17_memcache-templates 27_code-in-process/56_twitter/18_abstract-API-Model 27_code-in-process/56_twitter/18_abstract-API-Model/API 27_code-in-process/56_twitter/18_abstract-API-Model/Memcache 27_code-in-process/56_twitter/18_abstract-API-Model/Model 27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/API 27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/App 27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/Memcache 27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/Model 27_code-in-process/56_twitter/20_reverting_to_only_package-main 27_code-in-process/56_twitter/21_set-cookie_no-PATH 27_code-in-process/56_twitter/22_set-cookie_PATH 27_code-in-process/56_twitter/23_set-cookie-UUID 27_code-in-process/56_twitter/24_session 27_code-in-process/56_twitter/25_session-all-pages 27_code-in-process/56_twitter/26_login 27_code-in-process/56_twitter/27_logout 27_code-in-process/56_twitter/28_code-review 27_code-in-process/56_twitter/29_password-encryption 27_code-in-process/56_twitter/30_turn-off-memcache 27_code-in-process/56_twitter/31_modal-post-tweet 27_code-in-process/56_twitter/32_tweets 27_code-in-process/56_twitter/33_display-all-tweets 27_code-in-process/56_twitter/34_humanize 27_code-in-process/56_twitter/35_schmidt-params/01 27_code-in-process/56_twitter/35_schmidt-params/02 27_code-in-process/56_twitter/35_schmidt-params/03 27_code-in-process/56_twitter/35_schmidt-params/04 27_code-in-process/56_twitter/35_schmidt-params/05 27_code-in-process/56_twitter/36_user-tweets 27_code-in-process/56_twitter/37_other-implementations/01_daniel 27_code-in-process/56_twitter/37_other-implementations/02_tommy 27_code-in-process/56_twitter/37_other-implementations/03_t 27_code-in-process/56_twitter/38_follow 27_code-in-process/56_twitter/39_unfollow 27_code-in-process/56_twitter/40_send-email 27_code-in-process/56_twitter/41_twitter-send-email 27_code-in-process/56_twitter/42_following 27_code-in-process/56_twitter/43_following-me 27_code-in-process/56_twitter/44_code-review 27_code-in-process/57_appengine-channel/01_basic 27_code-in-process/57_appengine-channel/02_chat-room 27_code-in-process/58_appengine-search 27_code-in-process/59_appengine-GCS-storage/01_NewWriter_PEM-auth 27_code-in-process/59_appengine-GCS-storage/02_NewWriter_JSON-auth 27_code-in-process/59_appengine-GCS-storage/03_put-get-list_JSON-auth 27_code-in-process/60_movie-website/01_search 27_code-in-process/60_movie-website/02_image-upload-GCS 27_code-in-process/61_http-giffy 27_code-in-process/62_self-destructing-message/01 27_code-in-process/62_self-destructing-message/02_crypto/01_nonce 27_code-in-process/62_self-destructing-message/02_crypto/02_encrypt 27_code-in-process/62_self-destructing-message/02_crypto/03_decrypt 27_code-in-process/62_self-destructing-message/02_crypto/04_complete 27_code-in-process/63_GCS-filebrowser 27_code-in-process/64_csv-example/01 27_code-in-process/64_csv-example/02 27_code-in-process/65_accepting-credit-cards/01_basic-setup 27_code-in-process/65_accepting-credit-cards/02_customizing_UI 27_code-in-process/65_accepting-credit-cards/03_stripe-token 27_code-in-process/65_accepting-credit-cards/04_err-because-of-app-engine 27_code-in-process/65_accepting-credit-cards/05_charging 27_code-in-process/65_accepting-credit-cards/06_idempotent 27_code-in-process/65_accepting-credit-cards/07_complete 27_code-in-process/66_authentication_OAUTH/01_app-engine-auth_REVIEW 27_code-in-process/66_authentication_OAUTH/02_manual-auth/01_cookie_REVIEW 27_code-in-process/66_authentication_OAUTH/02_manual-auth/02_gorilla_REVIEW_photo-blog/01_simple 27_code-in-process/66_authentication_OAUTH/02_manual-auth/02_gorilla_REVIEW_photo-blog/02_photo-blog 27_code-in-process/66_authentication_OAUTH/02_manual-auth/03_memcache_REVIEW_twitter 27_code-in-process/66_authentication_OAUTH/02_manual-auth/04_bcrypt/01 27_code-in-process/66_authentication_OAUTH/02_manual-auth/04_bcrypt/02 27_code-in-process/66_authentication_OAUTH/03_oauth-github/01_authorization-code 27_code-in-process/66_authentication_OAUTH/03_oauth-github/02_access-token 27_code-in-process/66_authentication_OAUTH/03_oauth-github/03_url-ParseQuery 27_code-in-process/66_authentication_OAUTH/03_oauth-github/04_user-email 27_code-in-process/66_authentication_OAUTH/03_oauth-github/05_configuration_scheduled-tasks_cron 27_code-in-process/66_authentication_OAUTH/03_oauth-github/06-complete 27_code-in-process/66_authentication_OAUTH/05_oauth-google 27_code-in-process/66_authentication_OAUTH/08_oauth-dropbox 27_code-in-process/67_digital-ocean_aerospike/01_helloWorld 27_code-in-process/67_digital-ocean_aerospike/02_fullsite 27_code-in-process/67_digital-ocean_aerospike/03-aerospike 27_code-in-process/68_task-queue/01_delay 27_code-in-process/68_task-queue/02_delay-cron 27_code-in-process/68_task-queue/03_github 27_code-in-process/68_task-queue/04_github-goroutines 27_code-in-process/68_task-queue/05_github-cron 27_code-in-process/90_append-to-file/01-get-files 27_code-in-process/90_append-to-file/02-apply 27_code-in-process/97_temp/01 27_code-in-process/97_temp/02 27_code-in-process/98-good-student-code/daniel/Week10/dropbox-api 27_code-in-process/98-good-student-code/daniel/Week10/filebrowser 27_code-in-process/98-good-student-code/daniel/Week10/payment 27_code-in-process/98-good-student-code/daniel/Week7/Converter 27_code-in-process/98-good-student-code/daniel/Week7/Hello 27_code-in-process/98-good-student-code/daniel/Week7/Loops 27_code-in-process/98-good-student-code/daniel/Week7/capitalize 27_code-in-process/98-good-student-code/daniel/Week7/distanceConverter 27_code-in-process/98-good-student-code/daniel/Week7/findSmallest 27_code-in-process/98-good-student-code/daniel/Week7/monuments 27_code-in-process/98-good-student-code/daniel/Week7/my-cat 27_code-in-process/98-good-student-code/daniel/Week7/my-md5 27_code-in-process/98-good-student-code/daniel/Week7/profileGenerator 27_code-in-process/98-good-student-code/daniel/Week7/rotate 27_code-in-process/98-good-student-code/daniel/Week7/wordCount 27_code-in-process/98-good-student-code/daniel/Week7/yahooFinantial 27_code-in-process/98-good-student-code/daniel/Week8/chatRoom 27_code-in-process/98-good-student-code/daniel/Week8/colors 27_code-in-process/98-good-student-code/daniel/Week8/csv-convert 27_code-in-process/98-good-student-code/daniel/Week8/customHttpServer 27_code-in-process/98-good-student-code/daniel/Week8/echoServer 27_code-in-process/98-good-student-code/daniel/Week8/firstAppEngine 27_code-in-process/98-good-student-code/daniel/Week8/firstTemplate 27_code-in-process/98-good-student-code/daniel/Week8/formExample 27_code-in-process/98-good-student-code/daniel/Week8/httpAnimals 27_code-in-process/98-good-student-code/daniel/Week8/json-example 27_code-in-process/98-good-student-code/daniel/Week8/photoBlog 27_code-in-process/98-good-student-code/daniel/Week8/profile 27_code-in-process/98-good-student-code/daniel/Week8/redisDatabase 27_code-in-process/98-good-student-code/daniel/Week8/secureHello 27_code-in-process/98-good-student-code/daniel/Week8/static-http 27_code-in-process/98-good-student-code/daniel/Week8/testExample 27_code-in-process/98-good-student-code/daniel/Week8/todolist 27_code-in-process/98-good-student-code/daniel/Week9/chat-example 27_code-in-process/98-good-student-code/daniel/Week9/movie-search 27_code-in-process/98-good-student-code/daniel/Week9/storageExample 27_code-in-process/99_svcc/01_string-to-html 27_code-in-process/99_svcc/02_os-args 27_code-in-process/99_svcc/03_text-template 27_code-in-process/99_svcc/04_pipeline 27_code-in-process/99_svcc/05_pipeline-range 27_code-in-process/99_svcc/06_pipeline-range-else 27_code-in-process/99_svcc/07_composition 27_code-in-process/99_svcc/08_composition-conditional 27_code-in-process/99_svcc/09_methods 27_code-in-process/99_svcc/10_xss 27_code-in-process/99_svcc/11_html-templates 27_code-in-process/99_svcc/12_parsefiles 27_code-in-process/99_svcc/13_ParseGlob 27_code-in-process/99_svcc/14_tcp_echo-server 27_code-in-process/99_svcc/15_tcp_echo-server 27_code-in-process/99_svcc/16_redis-clone_step-2 27_code-in-process/99_svcc/17_redis-clone_step-5 27_code-in-process/99_svcc/18_rot13 27_code-in-process/99_svcc/19_DIY_http-server_request-line_headers 27_code-in-process/99_svcc/20_DIY_http-server_step-01 27_code-in-process/99_svcc/21_DIY_http-server_step-02 27_code-in-process/99_svcc/22_DIY_http-server_step-03 27_code-in-process/99_svcc/23_DIY_http-server_step-04 27_code-in-process/99_svcc/24_http-server_ServeMux 27_code-in-process/99_svcc/25_http-server_DefaultServeMux 27_code-in-process/99_svcc/26_serving-files_io-Copy 27_code-in-process/99_svcc/27_serving-files_ServeContent 27_code-in-process/99_svcc/28_serving-files_ServeFile 27_code-in-process/99_svcc/29_serving-files_FileServer 27_code-in-process/99_svcc/30_serving-files_FileServer 27_code-in-process/99_svcc/31_serving-files_FileServer 27_code-in-process/99_svcc/32_static-FileServer 27_code-in-process/99_svcc/33_set-cookie 27_code-in-process/99_svcc/34_get-cookie 27_code-in-process/99_svcc/35_favicon-bye-bye 27_code-in-process/99_svcc/36_sessions_cookie 27_code-in-process/99_svcc/37_sessions_cookie_log-in-out 27_code-in-process/99_svcc/38_HMAC/01 27_code-in-process/99_svcc/38_HMAC/02 27_code-in-process/99_svcc/38_HMAC/03 27_code-in-process/99_svcc/39_AES-encrypt-decrypt 27_code-in-process/99_svcc/40_sessions_GORILLA 27_code-in-process/99_svcc/41_sessions_GORILLA_log-in-out 27_code-in-process/99_svcc/42_JSON 27_code-in-process/99_svcc/43_sessions_GORILLA_JSON 27_code-in-process/99_svcc/44_file-paths 27_code-in-process/99_svcc/45_sessions_GORILLA_photo-blog 27_code-in-process/99_svcc/46_HTTPS-TLS Click to show internal directories. Click to hide internal directories.