Directories ¶ Show internal Expand all Path Synopsis basic-go-programming 03-development_environment/commands 04-variables_values_type/converstion_not_casting 04-variables_values_type/create_own_type 04-variables_values_type/exploring_type 04-variables_values_type/fmt_package 04-variables_values_type/hello_world 04-variables_values_type/packages 04-variables_values_type/short_declaration_operator 04-variables_values_type/var_keyword 04-variables_values_type/zero_value 05-hands_on_exercise_1/1-problem-assigning_values 05-hands_on_exercise_1/2-problem-var_declaration 05-hands_on_exercise_1/3-problem-sprintf 05-hands_on_exercise_1/4-problem-creating_your_own_type 05-hands_on_exercise_1/5-problem-conversion 06-programming_fundamentals/bit_shifting 06-programming_fundamentals/bool_type 06-programming_fundamentals/constants 06-programming_fundamentals/iota 06-programming_fundamentals/numeric_type 06-programming_fundamentals/string_type 07-hands_on_exercise_2/1-problem-decimal_binary_hex 07-hands_on_exercise_2/2-problem-operators 07-hands_on_exercise_2/3-problem-constants 07-hands_on_exercise_2/4-problem-bit_shifting 07-hands_on_exercise_2/5-problem-raw_string_literal 07-hands_on_exercise_2/6-problem-iota 08-control_flow/conditional-if_else_if 08-control_flow/conditional-if_statement 08-control_flow/conditional-switch_statement 08-control_flow/loop-break_continue 08-control_flow/loop-for_statement 08-control_flow/loop-init_condition_post 08-control_flow/loop-nesting_loop 08-control_flow/loop-printing_ascii 09-hands_on_exercise_3/1-problem-loop_print_1000_numbers 09-hands_on_exercise_3/2-problem-print_rune_codepoint 09-hands_on_exercise_3/3-problem-for_single_condition 09-hands_on_exercise_3/4-problem-breaking_loop 09-hands_on_exercise_3/5-problem-modulus 09-hands_on_exercise_3/6-problem-if_statement 09-hands_on_exercise_3/7-problem-if_else_if 09-hands_on_exercise_3/8-problem-switch_without_expression 09-hands_on_exercise_3/9-problem-switch_with_expression 10-grouping_data/array 10-grouping_data/map-add_element 10-grouping_data/map-delete 10-grouping_data/map-introduction 10-grouping_data/slice-append_slice 10-grouping_data/slice-composite_literal 10-grouping_data/slice-deleting_from_a_slice 10-grouping_data/slice-for_range 10-grouping_data/slice-make 10-grouping_data/slice-multidimensional_slice 10-grouping_data/slice-slicing_a_slice 11-hands_on_exercise_4/1-problem-array_composite_literal 11-hands_on_exercise_4/10-problem-delete_from_map 11-hands_on_exercise_4/2-problem-slice_composite_literal 11-hands_on_exercise_4/3-problem-slicing_slice 11-hands_on_exercise_4/4-problem-appending_slice 11-hands_on_exercise_4/5-problem-delete_from_slice 11-hands_on_exercise_4/6-problem-slice_make 11-hands_on_exercise_4/7-problem-multidimensional_slice 11-hands_on_exercise_4/8-problem-map 11-hands_on_exercise_4/9-problem-add_to_map 12-structs/anonymous_struct 12-structs/embedded_struct 12-structs/struct 13-hands_on_exercise_5/1-problem-create_struct 13-hands_on_exercise_5/2-problem-store_struct_into_map 13-hands_on_exercise_5/3-problem-inheritance_with_struct 13-hands_on_exercise_5/4-problem-anonymous_struct 14-functions/anonymous_func 14-functions/callback 14-functions/closure 14-functions/defer 14-functions/func_expression 14-functions/interfaces_polymorphism 14-functions/methods 14-functions/recursion 14-functions/returning_a_func 14-functions/syntax 14-functions/unfurling_slice 14-functions/variadic_parameters 15-hands_on_exercise_6/1-problem-function_with_return 15-hands_on_exercise_6/10-problem-closure 15-hands_on_exercise_6/2-problem-variadic_parameters 15-hands_on_exercise_6/3-problem-defer 15-hands_on_exercise_6/4-problem-methods 15-hands_on_exercise_6/5-problem-interface 15-hands_on_exercise_6/6-problem-anonymous_func 15-hands_on_exercise_6/7-problem-assign_func_to_variable 15-hands_on_exercise_6/8-problem-returning_a_function 15-hands_on_exercise_6/9-problem-func_as_arguments 16-pointers/coba_pointer 16-pointers/method_sets 16-pointers/parameter_pointer 16-pointers/pointers 16-pointers/when_to_use_pointers 17-hands_on_exercise_7/1-problem-print_value_address 17-hands_on_exercise_7/2-problem-struct_pointer 18-application/bcrypt 18-application/custom_sort 18-application/json_docs 18-application/json_marshal 18-application/json_unmarshal 18-application/sort 18-application/writer_interface 19-hands_on_exercise_8/1-problem-json_marshal 19-hands_on_exercise_8/2-problem-json_unmarshal 19-hands_on_exercise_8/3-problem-json_encode 19-hands_on_exercise_8/4-problem-sort 19-hands_on_exercise_8/5-problem-sort_slice 20-concurrency/atomic 20-concurrency/mutex 20-concurrency/race_condition 20-concurrency/waitgroup 21-hands_on_exercise_9/1-problem-launch_2_additional_goroutine 21-hands_on_exercise_9/2-problem-methods_sets 21-hands_on_exercise_9/3-problem-launch_goroutines_race_condition 21-hands_on_exercise_9/4-problem-solving_race_condition_mutex 21-hands_on_exercise_9/5-problem-solving_race_condition_atomic 21-hands_on_exercise_9/6-problem-print_out_your_os_and_arch 22-channels/comma_ok_idiom/bool 22-channels/comma_ok_idiom/int 22-channels/comma_ok_idiom/no_loop 22-channels/context/background 22-channels/context/with_cancel 22-channels/context/with_cancel_godoc_example 22-channels/context/with_cancel_todd_example 22-channels/context/with_cancel_without_cancelFunc 22-channels/context/with_deadline 22-channels/context/with_timeout 22-channels/directional_channels/assign_channel 22-channels/directional_channels/can_receive_from_channel_only_doesnt_work 22-channels/directional_channels/can_send_to_channel_only_doesnt_work 22-channels/directional_channels/example/01 22-channels/directional_channels/example/02 22-channels/directional_channels/example/03-receive-only-channel 22-channels/directional_channels/print_type 22-channels/directional_channels/works 22-channels/fan_in/rob_pike_example 22-channels/fan_in/todd_example 22-channels/fan_out/my_example 22-channels/fan_out/todd_example 22-channels/range 22-channels/select/fibonacci 22-channels/select/introduction 22-channels/throttling 22-channels/understanding_channels/channel_type_function 22-channels/understanding_channels/doesnt-run 22-channels/understanding_channels/successfully-buffer-2-values 22-channels/understanding_channels/successfully-buffer-run 22-channels/understanding_channels/successfully-run 22-channels/understanding_channels/unsuccessfull-buffer 22-channels/using_channel 23-hands_on_exercise_10/1-problem-func_literal_buffered_channel 23-hands_on_exercise_10/2-problem-directional_channels/send 23-hands_on_exercise_10/3-problem-pull_value_off_channel_using_loop 23-hands_on_exercise_10/4-problem-pull_value_off_using_select 23-hands_on_exercise_10/5-problem-comma_ok_idiom 23-hands_on_exercise_10/6-problem-put_numbers_to_channel_and_pull_it 23-hands_on_exercise_10/7-problem-channel_throttling 24-error_handling/checking_errors/fmt_scan 24-error_handling/checking_errors/os_create_file 24-error_handling/errors_with_info/custom_type 24-error_handling/errors_with_info/error_type 24-error_handling/errors_with_info/errors_new 24-error_handling/errors_with_info/errors_witn_new_variable 24-error_handling/errors_with_info/fmt_errorf 24-error_handling/printing_and_logging/log_fatal 24-error_handling/printing_and_logging/log_panic 24-error_handling/printing_and_logging/log_println 24-error_handling/printing_and_logging/panic 24-error_handling/printing_and_logging/println 24-error_handling/recovery 25-hands_on_exercise_11/1-problem-make_sure_handling_error 25-hands_on_exercise_11/2-problem-create_custom_error 25-hands_on_exercise_11/3-problem-custom_error 25-hands_on_exercise_11/4-problem-custom_error_2 25-hands_on_exercise_11/5-problem-testing 26-writing_documentation 26-writing_documentation/mymath 27-hands_on_exercise_12 27-hands_on_exercise_12/dog 28-testing_and_benchmarking/benchmarking 28-testing_and_benchmarking/benchmarking/greet 28-testing_and_benchmarking/benchmarking_examples/no_concurrency_vs_concurrency 28-testing_and_benchmarking/benchmarking_examples/todd_example 28-testing_and_benchmarking/benchmarking_examples/todd_example/mystr 28-testing_and_benchmarking/coverage 28-testing_and_benchmarking/coverage/greet 28-testing_and_benchmarking/example_tests 28-testing_and_benchmarking/example_tests/hello 28-testing_and_benchmarking/introduction 28-testing_and_benchmarking/table_tests 29-hands_on_exercise_13/1-problem-benchmark_example_testing 29-hands_on_exercise_13/1-problem-benchmark_example_testing/dog 29-hands_on_exercise_13/2-problem-bet_coverage 29-hands_on_exercise_13/2-problem-bet_coverage/quote 29-hands_on_exercise_13/2-problem-bet_coverage/word 29-hands_on_exercise_13/3-problem-table_tests 29-hands_on_exercise_13/3-problem-table_tests/mymath basic-go-programming-novalagung/A-pemgorgraman_go_dasar/29-reflect/mencari_tipe_data_dan_value basic-go-programming-novalagung/A-pemgorgraman_go_dasar/29-reflect/pengaksesan_informasi_property_variabel_objek web-dev-go 02-templates/02-template_with_concatenation/os_args 02-templates/02-template_with_concatenation/os_file 02-templates/02-template_with_concatenation/stdout 02-templates/03-package_text_template/os_create 02-templates/03-package_text_template/parseFiles 02-templates/03-package_text_template/parseGlob 02-templates/03-package_text_template/performant_passing_func_init 02-templates/03-package_text_template/stdout 02-templates/04-passing_data_into_templates 02-templates/05-variables_in_templates 02-templates/06-parsing_composite_data_structures_into_templates/map/no_variable 02-templates/06-parsing_composite_data_structures_into_templates/map/with_variable 02-templates/06-parsing_composite_data_structures_into_templates/slice/no_variable 02-templates/06-parsing_composite_data_structures_into_templates/slice/with_variable 02-templates/06-parsing_composite_data_structures_into_templates/slice_of_struct 02-templates/06-parsing_composite_data_structures_into_templates/struct/no_variable 02-templates/06-parsing_composite_data_structures_into_templates/struct/range_no_variable 02-templates/06-parsing_composite_data_structures_into_templates/struct/range_with_variable 02-templates/06-parsing_composite_data_structures_into_templates/struct/with_variable 02-templates/07-functions_in_templates 02-templates/08-pipelines_in_templates/date_pipeline 02-templates/08-pipelines_in_templates/pipeline 02-templates/08-pipelines_in_templates/time_format 02-templates/09-predefined_global_function/and 02-templates/09-predefined_global_function/comparisons 02-templates/09-predefined_global_function/index/slice 02-templates/09-predefined_global_function/index/struct_with_slice 02-templates/10-nesting_templates/define_template 02-templates/10-nesting_templates/nested_templates 02-templates/10-nesting_templates/passing_data_into_nested_templates 02-templates/11-passing_data_into_templates_and_composition 02-templates/12-methods_in_templates 02-templates/13-hands_on_exercise/1-problem-showing_data_in_templates 02-templates/13-hands_on_exercise/2-problem-hotel_data_structure 02-templates/13-hands_on_exercise/3-problem-restaurant_data_structure 02-templates/13-hands_on_exercise/4-problem-parse_csv 03-creating_your_own_server/02-TCP_Server-write_to_connection 03-creating_your_own_server/03-TCP_Server-read_from_connection_using_bufio_scanner/bufio_scanner 03-creating_your_own_server/03-TCP_Server-read_from_connection_using_bufio_scanner/read_connection 03-creating_your_own_server/04-TCP_Server-read_and_write_to_connection/no_deadline 03-creating_your_own_server/04-TCP_Server-read_and_write_to_connection/set_deadline 03-creating_your_own_server/05-TCP_Server-code_a_client/dial_read/caller 03-creating_your_own_server/05-TCP_Server-code_a_client/dial_read/server 03-creating_your_own_server/05-TCP_Server-code_a_client/dial_write/caller 03-creating_your_own_server/05-TCP_Server-code_a_client/dial_write/server 03-creating_your_own_server/07-TCP_Server-http_request_and_response/hands_on_exercise 03-creating_your_own_server/07-TCP_Server-http_request_and_response/todd_example 03-creating_your_own_server/09-TCP_Server-http_multiplexer/hands_on_exercise 03-creating_your_own_server/send_post_respond 04-understanding_net_http_package/02-understanding_and_using_listenAndServe 04-understanding_net_http_package/04-retrieving_value_from_forms 04-understanding_net_http_package/05-retrieving_other_request_values 04-understanding_net_http_package/06-exploring_http_response_writer_writing_headers_to_the_response 04-understanding_net_http_package/my_try_to_create_a_backend 05-understanding_routing/01-understanding_servemux/default_serve_mux 05-understanding_routing/01-understanding_servemux/first_example 05-understanding_routing/01-understanding_servemux/handleFunc 05-understanding_routing/01-understanding_servemux/mux_handle 05-understanding_routing/01-understanding_servemux/type_handlerFunc 05-understanding_routing/03-third_party_servemux 05-understanding_routing/auth_backend_example/data_modification 05-understanding_routing/auth_backend_example/data_modification_2 05-understanding_routing/auth_backend_example/without_data_modification 05-understanding_routing/hands_on_exercise_1/1-problem-default_servemux 05-understanding_routing/hands_on_exercise_1/2-problem-parse_template 05-understanding_routing/hands_on_exercise_1/3-problem-handle 05-understanding_routing/hands_on_exercise_2/1-problem-tcp_server 05-understanding_routing/hands_on_exercise_2/2-problem-read_from_connection 05-understanding_routing/hands_on_exercise_2/3-problem-scanning_text 05-understanding_routing/hands_on_exercise_2/4-problem-concurrency_handling 05-understanding_routing/hands_on_exercise_2/5-problem-write_to_connection 05-understanding_routing/hands_on_exercise_2/6-problem-write_response_with_header 05-understanding_routing/hands_on_exercise_2/7-problem-print_the_request_line 05-understanding_routing/hands_on_exercise_2/8-problem-content_type_text_html 05-understanding_routing/hands_on_exercise_2/9-problem-handle_request_by_method 06-serving_files/01-serving_file_with_io_copy/no_serving 06-serving_files/01-serving_file_with_io_copy/serving/http 06-serving_files/01-serving_file_with_io_copy/serving/julienschmidt 06-serving_files/01-serving_file_with_io_copy/serving/path_without_file_extension 06-serving_files/02-http_serve_content_and_serve_file/serve_content 06-serving_files/02-http_serve_content_and_serve_file/serve_file 06-serving_files/03-http_file_server/http 06-serving_files/03-http_file_server/julienschmidt 06-serving_files/04-serving_file_with_http_stripPrefix 06-serving_files/05-static_file_server_with_http_fileServer 06-serving_files/06-log_fatal_and_http_error/http_error 06-serving_files/06-log_fatal_and_http_error/log_fatal 06-serving_files/07-not_found_handler 06-serving_files/hands_on_exercise/1-problem-http_serve_file 06-serving_files/hands_on_exercise/2-problem-http_file_server 06-serving_files/hands_on_exercise/3-problem-http_file_server_2 06-serving_files/hands_on_exercise/4-problem-http_strip_prefix 06-serving_files/hands_on_exercise/5-problem-http_strip_prefix_2 06-serving_files/hands_on_exercise/6-problem-debug 08-creating_state/02-passing_values_through_url 08-creating_state/03-passing_values_through_forms/1-example 08-creating_state/03-passing_values_through_forms/2-example 08-creating_state/04-uploading_reading_store_file_on_the_server/reading_file/bufio_scanner 08-creating_state/04-uploading_reading_store_file_on_the_server/reading_file/io_readall 08-creating_state/04-uploading_reading_store_file_on_the_server/store_file/io_copy 08-creating_state/04-uploading_reading_store_file_on_the_server/store_file/os_write 08-creating_state/07-redirect_in_practice/http_redirect/moved_permanently 08-creating_state/07-redirect_in_practice/http_redirect/see_other 08-creating_state/07-redirect_in_practice/http_redirect/temporary_redirect 08-creating_state/07-redirect_in_practice/set_header/moved_permanently 08-creating_state/07-redirect_in_practice/set_header/see_other 08-creating_state/07-redirect_in_practice/set_header/temporary_redirect 08-creating_state/09-cookies_reading_and_writing 08-creating_state/10-writing_multiple_cookies 08-creating_state/12-delete_a_cookie 08-creating_state/13-set_max_age_on_cookie 08-creating_state/hands_on_exercise 09-creating_sessions/02-universally_unique_identifier_UUID 09-creating_sessions/03-my_first_session 09-creating_sessions/04-sign_up 09-creating_sessions/04-sign_up/database 09-creating_sessions/04-sign_up/handler 09-creating_sessions/08-permission 09-creating_sessions/08-permission/database 09-creating_sessions/08-permission/handler 09-creating_sessions/09-expire_session 09-creating_sessions/09-expire_session/database 09-creating_sessions/09-expire_session/handler 11-relational_databases/05-go_and_sql_setup 11-relational_databases/06-go_and_sql_in_practice 11-relational_databases/06-go_and_sql_in_practice/database 11-relational_databases/06-go_and_sql_in_practice/handler 11-relational_databases/06-go_and_sql_in_practice/model 14-web_dev_toolkit/01-keyed_hash_message_authentication_code_HMAC 14-web_dev_toolkit/02-base65_encoding 14-web_dev_toolkit/04-context/no_channel 14-web_dev_toolkit/04-context/rakyll_example/after_context 14-web_dev_toolkit/04-context/rakyll_example/before_context 14-web_dev_toolkit/04-context/with_channel 14-web_dev_toolkit/07-go_and_json 14-web_dev_toolkit/12-ajax_server_side 15-go_and_mongodb/01-organizing_code_into_packages 15-go_and_mongodb/01-organizing_code_into_packages/models 15-go_and_mongodb/02-create_and_delete_user 15-go_and_mongodb/02-create_and_delete_user/models 15-go_and_mongodb/03-mvc_design_pattern 15-go_and_mongodb/03-mvc_design_pattern/controllers 15-go_and_mongodb/03-mvc_design_pattern/models 15-go_and_mongodb/crud 15-go_and_mongodb/crud/controllers 15-go_and_mongodb/crud/middleware 15-go_and_mongodb/crud/models 15-go_and_mongodb/crud/router Click to show internal directories. Click to hide internal directories.