Directories ¶ Show internal Expand all Path Synopsis docs docs/docs/examples/ch1/ch1.1/1-hello docs/docs/examples/ch1/ch1.2/6-hello-go/hello-go-20091211 docs/docs/examples/ch1/ch1.2/7-hello-world-v2/example-1 docs/docs/examples/ch1/ch1.2/7-hello-world/example-1 docs/docs/examples/ch1/ch1.2/xx-hello-go-asm docs/docs/examples/ch1/ch1.2/xx-hello-go-cgo docs/docs/examples/ch1/ch1.3/1-arrays/example-1 docs/docs/examples/ch1/ch1.3/1-arrays/example-2 docs/docs/examples/ch1/ch1.3/1-arrays/example-3 docs/docs/examples/ch1/ch1.3/1-arrays/example-4 docs/docs/examples/ch1/ch1.3/1-arrays/example-5 docs/docs/examples/ch1/ch1.3/1-arrays/example-6 docs/docs/examples/ch1/ch1.3/1-arrays/example-7 docs/docs/examples/ch1/ch1.3/1-arrays/example-8 docs/docs/examples/ch1/ch1.3/1-arrays/example-9 docs/docs/examples/ch1/ch1.3/2-strings/example-1 docs/docs/examples/ch1/ch1.3/2-strings/example-10 docs/docs/examples/ch1/ch1.3/2-strings/example-11 docs/docs/examples/ch1/ch1.3/2-strings/example-12 docs/docs/examples/ch1/ch1.3/2-strings/example-13 docs/docs/examples/ch1/ch1.3/2-strings/example-2 docs/docs/examples/ch1/ch1.3/2-strings/example-3 docs/docs/examples/ch1/ch1.3/2-strings/example-4 docs/docs/examples/ch1/ch1.3/2-strings/example-5 docs/docs/examples/ch1/ch1.3/2-strings/example-6 docs/docs/examples/ch1/ch1.3/2-strings/example-7 docs/docs/examples/ch1/ch1.3/2-strings/example-8 docs/docs/examples/ch1/ch1.3/2-strings/example-9 docs/docs/examples/ch1/ch1.3/3-slices/example-1 docs/docs/examples/ch1/ch1.3/3-slices/example-10 docs/docs/examples/ch1/ch1.3/3-slices/example-11 docs/docs/examples/ch1/ch1.3/3-slices/example-12 docs/docs/examples/ch1/ch1.3/3-slices/example-13 docs/docs/examples/ch1/ch1.3/3-slices/example-14 docs/docs/examples/ch1/ch1.3/3-slices/example-15 docs/docs/examples/ch1/ch1.3/3-slices/example-16 docs/docs/examples/ch1/ch1.3/3-slices/example-17 docs/docs/examples/ch1/ch1.3/3-slices/example-18 docs/docs/examples/ch1/ch1.3/3-slices/example-19 docs/docs/examples/ch1/ch1.3/3-slices/example-2 docs/docs/examples/ch1/ch1.3/3-slices/example-3 docs/docs/examples/ch1/ch1.3/3-slices/example-4 docs/docs/examples/ch1/ch1.3/3-slices/example-5 docs/docs/examples/ch1/ch1.3/3-slices/example-6 docs/docs/examples/ch1/ch1.3/3-slices/example-7 docs/docs/examples/ch1/ch1.3/3-slices/example-8 docs/docs/examples/ch1/ch1.3/3-slices/example-9 docs/docs/examples/ch1/ch1.4/1-function/example-1 docs/docs/examples/ch1/ch1.4/1-function/example-2 docs/docs/examples/ch1/ch1.4/1-function/example-3 docs/docs/examples/ch1/ch1.4/2-method/example-1 docs/docs/examples/ch1/ch1.4/2-method/example-2 docs/docs/examples/ch1/ch1.4/2-method/example-3 docs/docs/examples/ch1/ch1.4/2-method/example-4 docs/docs/examples/ch1/ch1.4/3-interface/example-1 docs/docs/examples/ch1/ch1.4/3-interface/example-2 docs/docs/examples/ch1/ch1.4/3-interface/example-3 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-1 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-2 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-3 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-4 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-5 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-6 docs/docs/examples/ch1/ch1.5/2-atomic-operation/example-8 docs/docs/examples/ch1/ch1.5/3-sequence-consistency-mem-model/example-9 docs/docs/examples/ch1/ch1.5/5-create-go-routine/example-10 docs/docs/examples/ch1/ch1.5/6-channel-base-com/example-11 docs/docs/examples/ch1/ch1.5/6-channel-base-com/example-12 docs/docs/examples/ch1/ch1.5/6-channel-base-com/example-13 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-1 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-2 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-3 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-4 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-5 docs/docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-6 docs/docs/examples/ch1/ch1.6/2-producer-consumer/example-1 docs/docs/examples/ch1/ch1.6/2-producer-consumer/example-2 docs/docs/examples/ch1/ch1.6/3-pubsub/example-1 docs/docs/examples/ch1/ch1.6/3-pubsub/example-1/pubsub docs/docs/examples/ch1/ch1.6/4-controlling-concurrency/example-1 docs/docs/examples/ch1/ch1.6/5-winner-is-king/example-1 docs/docs/examples/ch1/ch1.6/6-prime-sieve/example-1 docs/docs/examples/ch1/ch1.6/7-concurrent-exit/example-1 docs/docs/examples/ch1/ch1.6/7-concurrent-exit/example-2 docs/docs/examples/ch1/ch1.6/7-concurrent-exit/example-3 docs/docs/examples/ch1/ch1.6/7-concurrent-exit/example-4 docs/docs/examples/ch1/ch1.6/8-context-package/example-1 docs/docs/examples/ch1/ch1.6/8-context-package/example2 docs/docs/examples/ch2/ch2.1/1-simplest-cgo docs/docs/examples/ch2/ch2.1/2-cputs docs/docs/examples/ch2/ch2.1/3a-cfunction docs/docs/examples/ch2/ch2.1/3b-cfunction docs/docs/examples/ch2/ch2.1/4-modularization docs/docs/examples/ch2/ch2.1/5-implement-function-go docs/docs/examples/ch2/ch2.1/6a-go-programming docs/docs/examples/ch2/ch2.1/6b-go-programming docs/docs/examples/ch2/ch2.10 docs/docs/examples/ch2/ch2.2/1-cchar/cgo_helper docs/docs/examples/ch2/ch2.2/1-cchar/main docs/docs/examples/ch2/ch2.2/1-simplest-go docs/docs/examples/ch2/ch2.2/2-cgo-statement docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-1 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-2 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-3 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-4 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-5 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-6 docs/docs/examples/ch2/ch2.3/3-struct-union-enum/example-7 docs/docs/examples/ch2/ch2.3/4-array-string-slice/example-1 docs/docs/examples/ch2/ch2.4/1-go-call-c/example-1 docs/docs/examples/ch2/ch2.4/2-return-val-c/example-1 docs/docs/examples/ch2/ch2.4/2-return-val-c/example-2 docs/docs/examples/ch2/ch2.4/3-void-return/example-1 docs/docs/examples/ch2/ch2.4/3-void-return/example-2 docs/docs/examples/ch2/ch2.4/3-void-return/example-3 docs/docs/examples/ch2/ch2.5/2-go-call-c/example-1 docs/docs/examples/ch2/ch2.5/2-go-call-c/example-1/_obj docs/docs/examples/ch2/ch2.5/3-c-call-go/example-1 docs/docs/examples/ch2/ch2.5/3-c-call-go/example-1/_obj docs/docs/examples/ch2/ch2.6/2-export-qsort docs/docs/examples/ch2/ch2.6/2-export-qsort/qsort docs/docs/examples/ch2/ch2.6/3-improve/example-1 docs/docs/examples/ch2/ch2.6/3-improve/example-2 docs/docs/examples/ch2/ch2.6/3-improve/example-2/qsort docs/docs/examples/ch2/ch2.6/4-improve2/example docs/docs/examples/ch2/ch2.6/4-improve2/example/qsort docs/docs/examples/ch2/ch2.7/1-c-mem-access docs/docs/examples/ch2/ch2.7/2-go-mem-access/example-1 docs/docs/examples/ch2/ch2.7/2-go-mem-access/example-2 docs/docs/examples/ch2/ch2.8/1-class-cpp-to-obj-go docs/docs/examples/ch2/ch2.8/2-obj-go-to-class-cpp docs/docs/examples/ch2/ch2.9/1-static-library docs/docs/examples/ch2/ch2.9/2-dynamic-library docs/docs/examples/ch2/ch2.9/3-number-lib docs/docs/examples/ch2/ch2.9/5-modular-func docs/docs/examples/ch2/ch2.9/5-modular-func/number docs/docs/examples/ch4/ch4.1/hello-client-v1 docs/docs/examples/ch4/ch4.1/hello-server-v1 docs/docs/examples/ch4/ch4.1/hello-service-v2/api docs/docs/examples/ch4/ch4.1/hello-service-v2/client docs/docs/examples/ch4/ch4.1/hello-service-v2/server docs/docs/examples/ch4/ch4.1/hello-service-v3/client docs/docs/examples/ch4/ch4.1/hello-service-v3/server docs/docs/examples/ch4/ch4.1/hello-service-v3/server-on-http docs/docs/examples/ch4/ch4.2/hello-server docs/docs/examples/ch4/ch4.2/hello.pb docs/docs/examples/ch4/ch4.2/protoc-gen-go-netrpc docs/docs/examples/ch4/ch4.3/2-watch/example-1/client docs/docs/examples/ch4/ch4.3/2-watch/example-1/server-KVStoreService docs/docs/examples/ch4/ch4.3/3-reverse-rpc/example-1/client docs/docs/examples/ch4/ch4.3/3-reverse-rpc/example-1/server docs/docs/examples/ch4/ch4.3/4-context-info/example-1/client docs/docs/examples/ch4/ch4.3/4-context-info/example-1/server docs/docs/examples/ch4/ch4.3/4-context-info/example-2-auth/client docs/docs/examples/ch4/ch4.3/4-context-info/example-2-auth/server docs/docs/examples/ch4/ch4.4/2-getting-started/client docs/docs/examples/ch4/ch4.4/2-getting-started/helloservice docs/docs/examples/ch4/ch4.4/2-getting-started/server docs/docs/examples/ch4/ch4.4/3-grpc-flow/HelloService docs/docs/examples/ch4/ch4.4/3-grpc-flow/client docs/docs/examples/ch4/ch4.4/3-grpc-flow/server docs/docs/examples/ch4/ch4.4/4-pubsub/clientpub docs/docs/examples/ch4/ch4.4/4-pubsub/clientsub docs/docs/examples/ch4/ch4.4/4-pubsub/pubsubservice docs/docs/examples/ch4/ch4.4/4-pubsub/server docs/docs/examples/ch4/ch4.5/1-tls-certificate docs/docs/examples/ch4/ch4.5/2-token-authentication docs/docs/examples/ch4/ch4.5/3-interceptor docs/docs/examples/ch4/ch4.5/4-with-web-services docs/docs/examples/ch4/ch4.6/pb2-default-value docs/docs/examples/ch4/ch4.6/validators docs/docs/examples/ch4/ch4.7/pb-option docs/docs/examples/ch4/ch4.7/pb-option/main docs/docs/examples/ch4/ch4.8/reflection-service/HelloService docs/docs/examples/ch4/ch4.8/reflection-service/server docs/docs/examples/ch5/ch5.1 docs/docs/examples/ch5/ch5.3/example1 docs/docs/examples/ch5/ch5.3/example2 docs/docs/examples/ch5/ch5.3/example3 docs/docs/examples/ch5/ch5.3/example4 docs/docs/examples/ch5/ch5.3/example5 docs/docs/examples/ch5/ch5.4/3-principle docs/docs/examples/ch5/ch5.5/1-mysql docs/docs/examples/ch5/ch5.6/0-throughput docs/docs/examples/ch5/ch5.6/2-principle/example-1 docs/docs/examples/ch5/ch5.9/3-2-hash-algorithm docs/docs/examples/ch5/ch5.9/3-3-distribution-uniform docs/docs/examples/ch6/ch6.1/1-snowflake docs/docs/examples/ch6/ch6.1/2-sonyflake docs/docs/examples/ch6/ch6.2/1-counter-no-lock docs/docs/examples/ch6/ch6.2/2-counter-lock docs/docs/examples/ch6/ch6.2/3-try-lock docs/docs/examples/ch6/ch6.2/4-redis-lock docs/docs/examples/ch6/ch6.2/5-zookeeper-lock docs/docs/examples/ch6/ch6.2/6-etcd-lock docs/docs/examples/ch6/ch6.5/1-rand-algo docs/docs/examples/ch6/ch6.6/1-config docs/docs/examples/ch6/ch6.7/1-simple-colly docs/docs/examples/ch6/ch6.7/2-pub-colly-nats docs/docs/examples/ch6/ch6.7/3-sub-colly-nats docs/examples/ch1/ch1.1/1-hello docs/examples/ch1/ch1.2/6-hello-go/hello-go-20091211 docs/examples/ch1/ch1.2/7-hello-world-v2/example-1 docs/examples/ch1/ch1.2/7-hello-world/example-1 docs/examples/ch1/ch1.2/xx-hello-go-asm docs/examples/ch1/ch1.2/xx-hello-go-cgo docs/examples/ch1/ch1.3/1-arrays/example-1 docs/examples/ch1/ch1.3/1-arrays/example-2 docs/examples/ch1/ch1.3/1-arrays/example-3 docs/examples/ch1/ch1.3/1-arrays/example-4 docs/examples/ch1/ch1.3/1-arrays/example-5 docs/examples/ch1/ch1.3/1-arrays/example-6 docs/examples/ch1/ch1.3/1-arrays/example-7 docs/examples/ch1/ch1.3/1-arrays/example-8 docs/examples/ch1/ch1.3/1-arrays/example-9 docs/examples/ch1/ch1.3/2-strings/example-1 docs/examples/ch1/ch1.3/2-strings/example-10 docs/examples/ch1/ch1.3/2-strings/example-11 docs/examples/ch1/ch1.3/2-strings/example-12 docs/examples/ch1/ch1.3/2-strings/example-13 docs/examples/ch1/ch1.3/2-strings/example-2 docs/examples/ch1/ch1.3/2-strings/example-3 docs/examples/ch1/ch1.3/2-strings/example-4 docs/examples/ch1/ch1.3/2-strings/example-5 docs/examples/ch1/ch1.3/2-strings/example-6 docs/examples/ch1/ch1.3/2-strings/example-7 docs/examples/ch1/ch1.3/2-strings/example-8 docs/examples/ch1/ch1.3/2-strings/example-9 docs/examples/ch1/ch1.3/3-slices/example-1 docs/examples/ch1/ch1.3/3-slices/example-10 docs/examples/ch1/ch1.3/3-slices/example-11 docs/examples/ch1/ch1.3/3-slices/example-12 docs/examples/ch1/ch1.3/3-slices/example-13 docs/examples/ch1/ch1.3/3-slices/example-14 docs/examples/ch1/ch1.3/3-slices/example-15 docs/examples/ch1/ch1.3/3-slices/example-16 docs/examples/ch1/ch1.3/3-slices/example-17 docs/examples/ch1/ch1.3/3-slices/example-18 docs/examples/ch1/ch1.3/3-slices/example-19 docs/examples/ch1/ch1.3/3-slices/example-2 docs/examples/ch1/ch1.3/3-slices/example-3 docs/examples/ch1/ch1.3/3-slices/example-4 docs/examples/ch1/ch1.3/3-slices/example-5 docs/examples/ch1/ch1.3/3-slices/example-6 docs/examples/ch1/ch1.3/3-slices/example-7 docs/examples/ch1/ch1.3/3-slices/example-8 docs/examples/ch1/ch1.3/3-slices/example-9 docs/examples/ch1/ch1.4/1-function/example-1 docs/examples/ch1/ch1.4/1-function/example-2 docs/examples/ch1/ch1.4/1-function/example-3 docs/examples/ch1/ch1.4/2-method/example-1 docs/examples/ch1/ch1.4/2-method/example-2 docs/examples/ch1/ch1.4/2-method/example-3 docs/examples/ch1/ch1.4/2-method/example-4 docs/examples/ch1/ch1.4/3-interface/example-1 docs/examples/ch1/ch1.4/3-interface/example-2 docs/examples/ch1/ch1.4/3-interface/example-3 docs/examples/ch1/ch1.5/2-atomic-operation/example-1 docs/examples/ch1/ch1.5/2-atomic-operation/example-2 docs/examples/ch1/ch1.5/2-atomic-operation/example-3 docs/examples/ch1/ch1.5/2-atomic-operation/example-4 docs/examples/ch1/ch1.5/2-atomic-operation/example-5 docs/examples/ch1/ch1.5/2-atomic-operation/example-6 docs/examples/ch1/ch1.5/2-atomic-operation/example-8 docs/examples/ch1/ch1.5/3-sequence-consistency-mem-model/example-9 docs/examples/ch1/ch1.5/5-create-go-routine/example-10 docs/examples/ch1/ch1.5/6-channel-base-com/example-11 docs/examples/ch1/ch1.5/6-channel-base-com/example-12 docs/examples/ch1/ch1.5/6-channel-base-com/example-13 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-1 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-2 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-3 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-4 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-5 docs/examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-6 docs/examples/ch1/ch1.6/2-producer-consumer/example-1 docs/examples/ch1/ch1.6/2-producer-consumer/example-2 docs/examples/ch1/ch1.6/3-pubsub/example-1 docs/examples/ch1/ch1.6/3-pubsub/example-1/pubsub docs/examples/ch1/ch1.6/4-controlling-concurrency/example-1 docs/examples/ch1/ch1.6/5-winner-is-king/example-1 docs/examples/ch1/ch1.6/6-prime-sieve/example-1 docs/examples/ch1/ch1.6/7-concurrent-exit/example-1 docs/examples/ch1/ch1.6/7-concurrent-exit/example-2 docs/examples/ch1/ch1.6/7-concurrent-exit/example-3 docs/examples/ch1/ch1.6/7-concurrent-exit/example-4 docs/examples/ch1/ch1.6/8-context-package/example-1 docs/examples/ch1/ch1.6/8-context-package/example2 docs/examples/ch2/ch2.1/1-simplest-cgo docs/examples/ch2/ch2.1/2-cputs docs/examples/ch2/ch2.1/3a-cfunction docs/examples/ch2/ch2.1/3b-cfunction docs/examples/ch2/ch2.1/4-modularization docs/examples/ch2/ch2.1/5-implement-function-go docs/examples/ch2/ch2.1/6a-go-programming docs/examples/ch2/ch2.1/6b-go-programming docs/examples/ch2/ch2.10 docs/examples/ch2/ch2.2/1-cchar/cgo_helper docs/examples/ch2/ch2.2/1-cchar/main docs/examples/ch2/ch2.2/1-simplest-go docs/examples/ch2/ch2.2/2-cgo-statement docs/examples/ch2/ch2.3/3-struct-union-enum/example-1 docs/examples/ch2/ch2.3/3-struct-union-enum/example-2 docs/examples/ch2/ch2.3/3-struct-union-enum/example-3 docs/examples/ch2/ch2.3/3-struct-union-enum/example-4 docs/examples/ch2/ch2.3/3-struct-union-enum/example-5 docs/examples/ch2/ch2.3/3-struct-union-enum/example-6 docs/examples/ch2/ch2.3/3-struct-union-enum/example-7 docs/examples/ch2/ch2.3/4-array-string-slice/example-1 docs/examples/ch2/ch2.4/1-go-call-c/example-1 docs/examples/ch2/ch2.4/2-return-val-c/example-1 docs/examples/ch2/ch2.4/2-return-val-c/example-2 docs/examples/ch2/ch2.4/3-void-return/example-1 docs/examples/ch2/ch2.4/3-void-return/example-2 docs/examples/ch2/ch2.4/3-void-return/example-3 docs/examples/ch2/ch2.5/2-go-call-c/example-1 docs/examples/ch2/ch2.5/2-go-call-c/example-1/_obj docs/examples/ch2/ch2.5/3-c-call-go/example-1 docs/examples/ch2/ch2.5/3-c-call-go/example-1/_obj docs/examples/ch2/ch2.6/2-export-qsort docs/examples/ch2/ch2.6/2-export-qsort/qsort docs/examples/ch2/ch2.6/3-improve/example-1 docs/examples/ch2/ch2.6/3-improve/example-2 docs/examples/ch2/ch2.6/3-improve/example-2/qsort docs/examples/ch2/ch2.6/4-improve2/example docs/examples/ch2/ch2.6/4-improve2/example/qsort docs/examples/ch2/ch2.6/randomgen docs/examples/ch2/ch2.7/1-c-mem-access docs/examples/ch2/ch2.7/2-go-mem-access/example-1 docs/examples/ch2/ch2.7/2-go-mem-access/example-2 docs/examples/ch2/ch2.7/3-go-objectid docs/examples/ch2/ch2.8/1-class-cpp-to-obj-go docs/examples/ch2/ch2.8/2-obj-go-to-class-cpp docs/examples/ch2/ch2.9/1-static-library docs/examples/ch2/ch2.9/2-dynamic-library docs/examples/ch2/ch2.9/3-number-lib docs/examples/ch2/ch2.9/5-modular-func docs/examples/ch2/ch2.9/5-modular-func/number docs/examples/ch4/ch4.1/hello-client-v1 docs/examples/ch4/ch4.1/hello-server-v1 docs/examples/ch4/ch4.1/hello-service-v2/api docs/examples/ch4/ch4.1/hello-service-v2/client docs/examples/ch4/ch4.1/hello-service-v2/server docs/examples/ch4/ch4.1/hello-service-v3/client docs/examples/ch4/ch4.1/hello-service-v3/server docs/examples/ch4/ch4.1/hello-service-v3/server-on-http docs/examples/ch4/ch4.2/hello-server docs/examples/ch4/ch4.2/hello.pb docs/examples/ch4/ch4.2/protoc-gen-go-netrpc docs/examples/ch4/ch4.3/2-watch/example-1/client docs/examples/ch4/ch4.3/2-watch/example-1/server-KVStoreService docs/examples/ch4/ch4.3/3-reverse-rpc/example-1/client docs/examples/ch4/ch4.3/3-reverse-rpc/example-1/server docs/examples/ch4/ch4.3/4-context-info/example-1/client docs/examples/ch4/ch4.3/4-context-info/example-1/server docs/examples/ch4/ch4.3/4-context-info/example-2-auth/client docs/examples/ch4/ch4.3/4-context-info/example-2-auth/server docs/examples/ch4/ch4.4/2-getting-started/client docs/examples/ch4/ch4.4/2-getting-started/helloservice docs/examples/ch4/ch4.4/2-getting-started/server docs/examples/ch4/ch4.4/3-grpc-flow/HelloService docs/examples/ch4/ch4.4/3-grpc-flow/client docs/examples/ch4/ch4.4/3-grpc-flow/server docs/examples/ch4/ch4.4/4-pubsub/clientpub docs/examples/ch4/ch4.4/4-pubsub/clientsub docs/examples/ch4/ch4.4/4-pubsub/pubsubservice docs/examples/ch4/ch4.4/4-pubsub/server docs/examples/ch4/ch4.5/1-tls-certificate docs/examples/ch4/ch4.5/2-token-authentication docs/examples/ch4/ch4.5/3-interceptor docs/examples/ch4/ch4.5/4-with-web-services docs/examples/ch4/ch4.6/pb2-default-value docs/examples/ch4/ch4.6/validators docs/examples/ch4/ch4.7/pb-option docs/examples/ch4/ch4.7/pb-option/main docs/examples/ch4/ch4.8/reflection-service/HelloService docs/examples/ch4/ch4.8/reflection-service/server docs/examples/ch5/ch5.1 docs/examples/ch5/ch5.3/example1 docs/examples/ch5/ch5.3/example2 docs/examples/ch5/ch5.3/example3 docs/examples/ch5/ch5.3/example4 docs/examples/ch5/ch5.3/example5 docs/examples/ch5/ch5.4/3-principle docs/examples/ch5/ch5.5/1-mysql docs/examples/ch5/ch5.6/0-throughput docs/examples/ch5/ch5.6/2-principle/example-1 docs/examples/ch5/ch5.9/3-2-hash-algorithm docs/examples/ch5/ch5.9/3-3-distribution-uniform docs/examples/ch6/ch6.1/1-snowflake docs/examples/ch6/ch6.1/2-sonyflake docs/examples/ch6/ch6.2/1-counter-no-lock docs/examples/ch6/ch6.2/2-counter-lock docs/examples/ch6/ch6.2/3-try-lock docs/examples/ch6/ch6.2/4-redis-lock docs/examples/ch6/ch6.2/5-zookeeper-lock docs/examples/ch6/ch6.2/6-etcd-lock docs/examples/ch6/ch6.5/1-rand-algo docs/examples/ch6/ch6.6/1-config docs/examples/ch6/ch6.7/1-simple-colly docs/examples/ch6/ch6.7/2-pub-colly-nats docs/examples/ch6/ch6.7/3-sub-colly-nats examples/ch1/ch1.1/1-hello examples/ch1/ch1.2/6-hello-go/hello-go-20091211 examples/ch1/ch1.2/7-hello-world-v2/example-1 examples/ch1/ch1.2/7-hello-world/example-1 examples/ch1/ch1.2/xx-hello-go-asm examples/ch1/ch1.2/xx-hello-go-cgo examples/ch1/ch1.3/1-arrays/example-1 examples/ch1/ch1.3/1-arrays/example-2 examples/ch1/ch1.3/1-arrays/example-3 examples/ch1/ch1.3/1-arrays/example-4 examples/ch1/ch1.3/1-arrays/example-5 examples/ch1/ch1.3/1-arrays/example-6 examples/ch1/ch1.3/1-arrays/example-7 examples/ch1/ch1.3/1-arrays/example-8 examples/ch1/ch1.3/1-arrays/example-9 examples/ch1/ch1.3/2-strings/example-1 examples/ch1/ch1.3/2-strings/example-10 examples/ch1/ch1.3/2-strings/example-11 examples/ch1/ch1.3/2-strings/example-12 examples/ch1/ch1.3/2-strings/example-13 examples/ch1/ch1.3/2-strings/example-2 examples/ch1/ch1.3/2-strings/example-3 examples/ch1/ch1.3/2-strings/example-4 examples/ch1/ch1.3/2-strings/example-5 examples/ch1/ch1.3/2-strings/example-6 examples/ch1/ch1.3/2-strings/example-7 examples/ch1/ch1.3/2-strings/example-8 examples/ch1/ch1.3/2-strings/example-9 examples/ch1/ch1.3/3-slices/example-1 examples/ch1/ch1.3/3-slices/example-10 examples/ch1/ch1.3/3-slices/example-11 examples/ch1/ch1.3/3-slices/example-12 examples/ch1/ch1.3/3-slices/example-13 examples/ch1/ch1.3/3-slices/example-14 examples/ch1/ch1.3/3-slices/example-15 examples/ch1/ch1.3/3-slices/example-16 examples/ch1/ch1.3/3-slices/example-17 examples/ch1/ch1.3/3-slices/example-18 examples/ch1/ch1.3/3-slices/example-19 examples/ch1/ch1.3/3-slices/example-2 examples/ch1/ch1.3/3-slices/example-3 examples/ch1/ch1.3/3-slices/example-4 examples/ch1/ch1.3/3-slices/example-5 examples/ch1/ch1.3/3-slices/example-6 examples/ch1/ch1.3/3-slices/example-7 examples/ch1/ch1.3/3-slices/example-8 examples/ch1/ch1.3/3-slices/example-9 examples/ch1/ch1.4/1-function/example-1 examples/ch1/ch1.4/1-function/example-2 examples/ch1/ch1.4/1-function/example-3 examples/ch1/ch1.4/2-method/example-1 examples/ch1/ch1.4/2-method/example-2 examples/ch1/ch1.4/2-method/example-3 examples/ch1/ch1.4/2-method/example-4 examples/ch1/ch1.4/3-interface/example-1 examples/ch1/ch1.4/3-interface/example-2 examples/ch1/ch1.4/3-interface/example-3 examples/ch1/ch1.5/2-atomic-operation/example-1 examples/ch1/ch1.5/2-atomic-operation/example-2 examples/ch1/ch1.5/2-atomic-operation/example-3 examples/ch1/ch1.5/2-atomic-operation/example-4 examples/ch1/ch1.5/2-atomic-operation/example-5 examples/ch1/ch1.5/2-atomic-operation/example-6 examples/ch1/ch1.5/2-atomic-operation/example-8 examples/ch1/ch1.5/3-sequence-consistency-mem-model/example-9 examples/ch1/ch1.5/5-create-go-routine/example-10 examples/ch1/ch1.5/6-channel-base-com/example-11 examples/ch1/ch1.5/6-channel-base-com/example-12 examples/ch1/ch1.5/6-channel-base-com/example-13 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-1 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-2 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-3 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-4 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-5 examples/ch1/ch1.6/1-hello-world-concurrent-ver/example-6 examples/ch1/ch1.6/2-producer-consumer/example-1 examples/ch1/ch1.6/2-producer-consumer/example-2 examples/ch1/ch1.6/3-pubsub/example-1 examples/ch1/ch1.6/3-pubsub/example-1/pubsub examples/ch1/ch1.6/4-controlling-concurrency/example-1 examples/ch1/ch1.6/5-winner-is-king/example-1 examples/ch1/ch1.6/6-prime-sieve/example-1 examples/ch1/ch1.6/7-concurrent-exit/example-1 examples/ch1/ch1.6/7-concurrent-exit/example-2 examples/ch1/ch1.6/7-concurrent-exit/example-3 examples/ch1/ch1.6/7-concurrent-exit/example-4 examples/ch1/ch1.6/8-context-package/example-1 examples/ch1/ch1.6/8-context-package/example2 examples/ch2/ch2.1/1-simplest-cgo examples/ch2/ch2.1/2-cputs examples/ch2/ch2.1/3a-cfunction examples/ch2/ch2.1/3b-cfunction examples/ch2/ch2.1/4-modularization examples/ch2/ch2.1/5-implement-function-go examples/ch2/ch2.1/6a-go-programming examples/ch2/ch2.1/6b-go-programming examples/ch2/ch2.10 examples/ch2/ch2.2/1-cchar/cgo_helper examples/ch2/ch2.2/1-cchar/main examples/ch2/ch2.2/1-simplest-go examples/ch2/ch2.2/2-cgo-statement examples/ch2/ch2.3/3-struct-union-enum/example-1 examples/ch2/ch2.3/3-struct-union-enum/example-2 examples/ch2/ch2.3/3-struct-union-enum/example-3 examples/ch2/ch2.3/3-struct-union-enum/example-4 examples/ch2/ch2.3/3-struct-union-enum/example-5 examples/ch2/ch2.3/3-struct-union-enum/example-6 examples/ch2/ch2.3/3-struct-union-enum/example-7 examples/ch2/ch2.3/4-array-string-slice/example-1 examples/ch2/ch2.4/1-go-call-c/example-1 examples/ch2/ch2.4/2-return-val-c/example-1 examples/ch2/ch2.4/2-return-val-c/example-2 examples/ch2/ch2.4/3-void-return/example-1 examples/ch2/ch2.4/3-void-return/example-2 examples/ch2/ch2.4/3-void-return/example-3 examples/ch2/ch2.5/2-go-call-c/example-1 examples/ch2/ch2.5/2-go-call-c/example-1/_obj examples/ch2/ch2.5/3-c-call-go/example-1 examples/ch2/ch2.5/3-c-call-go/example-1/_obj examples/ch2/ch2.6/2-export-qsort examples/ch2/ch2.6/2-export-qsort/qsort examples/ch2/ch2.6/3-improve/example-1 examples/ch2/ch2.6/3-improve/example-2 examples/ch2/ch2.6/3-improve/example-2/qsort examples/ch2/ch2.6/4-improve2/example examples/ch2/ch2.6/4-improve2/example/qsort examples/ch2/ch2.6/randomgen examples/ch2/ch2.7/1-c-mem-access examples/ch2/ch2.7/2-go-mem-access/example-1 examples/ch2/ch2.7/2-go-mem-access/example-2 examples/ch2/ch2.7/3-go-objectid examples/ch2/ch2.8/1-class-cpp-to-obj-go examples/ch2/ch2.8/2-obj-go-to-class-cpp examples/ch2/ch2.9/1-static-library examples/ch2/ch2.9/2-dynamic-library examples/ch2/ch2.9/3-number-lib examples/ch2/ch2.9/5-modular-func examples/ch2/ch2.9/5-modular-func/number examples/ch4/ch4.1/hello-client-v1 examples/ch4/ch4.1/hello-server-v1 examples/ch4/ch4.1/hello-service-v2/api examples/ch4/ch4.1/hello-service-v2/client examples/ch4/ch4.1/hello-service-v2/server examples/ch4/ch4.1/hello-service-v3/client examples/ch4/ch4.1/hello-service-v3/server examples/ch4/ch4.1/hello-service-v3/server-on-http examples/ch4/ch4.2/hello-server examples/ch4/ch4.2/hello.pb examples/ch4/ch4.2/protoc-gen-go-netrpc examples/ch4/ch4.3/2-watch/example-1/client examples/ch4/ch4.3/2-watch/example-1/server-KVStoreService examples/ch4/ch4.3/3-reverse-rpc/example-1/client examples/ch4/ch4.3/3-reverse-rpc/example-1/server examples/ch4/ch4.3/4-context-info/example-1/client examples/ch4/ch4.3/4-context-info/example-1/server examples/ch4/ch4.3/4-context-info/example-2-auth/client examples/ch4/ch4.3/4-context-info/example-2-auth/server examples/ch4/ch4.4/2-getting-started/client examples/ch4/ch4.4/2-getting-started/helloservice examples/ch4/ch4.4/2-getting-started/server examples/ch4/ch4.4/3-grpc-flow/HelloService examples/ch4/ch4.4/3-grpc-flow/client examples/ch4/ch4.4/3-grpc-flow/server examples/ch4/ch4.4/4-pubsub/clientpub examples/ch4/ch4.4/4-pubsub/clientsub examples/ch4/ch4.4/4-pubsub/pubsubservice examples/ch4/ch4.4/4-pubsub/server examples/ch4/ch4.5/1-tls-certificate examples/ch4/ch4.5/2-token-authentication examples/ch4/ch4.5/3-interceptor examples/ch4/ch4.5/4-with-web-services examples/ch4/ch4.6/pb2-default-value examples/ch4/ch4.6/validators examples/ch4/ch4.7/pb-option examples/ch4/ch4.7/pb-option/main examples/ch4/ch4.8/reflection-service/HelloService examples/ch4/ch4.8/reflection-service/server examples/ch5/ch5.1 examples/ch5/ch5.3/example1 examples/ch5/ch5.3/example2 examples/ch5/ch5.3/example3 examples/ch5/ch5.3/example4 examples/ch5/ch5.3/example5 examples/ch5/ch5.4/3-principle examples/ch5/ch5.5/1-mysql examples/ch5/ch5.6/0-throughput examples/ch5/ch5.6/2-principle/example-1 examples/ch5/ch5.9/3-2-hash-algorithm examples/ch5/ch5.9/3-3-distribution-uniform examples/ch6/ch6.1/1-snowflake examples/ch6/ch6.1/2-sonyflake examples/ch6/ch6.2/1-counter-no-lock examples/ch6/ch6.2/2-counter-lock examples/ch6/ch6.2/3-try-lock examples/ch6/ch6.2/4-redis-lock examples/ch6/ch6.2/5-zookeeper-lock examples/ch6/ch6.2/6-etcd-lock examples/ch6/ch6.5/1-rand-algo examples/ch6/ch6.6/1-config examples/ch6/ch6.7/1-simple-colly examples/ch6/ch6.7/2-pub-colly-nats examples/ch6/ch6.7/3-sub-colly-nats examples ch1/ch1.1/1-hello ch1/ch1.2/6-hello-go/hello-go-20091211 ch1/ch1.2/7-hello-world-v2/example-1 ch1/ch1.2/7-hello-world/example-1 ch1/ch1.2/xx-hello-go-asm ch1/ch1.2/xx-hello-go-cgo ch1/ch1.3/1-arrays/example-1 ch1/ch1.3/1-arrays/example-2 ch1/ch1.3/1-arrays/example-3 ch1/ch1.3/1-arrays/example-4 ch1/ch1.3/1-arrays/example-5 ch1/ch1.3/1-arrays/example-6 ch1/ch1.3/1-arrays/example-7 ch1/ch1.3/1-arrays/example-8 ch1/ch1.3/1-arrays/example-9 ch1/ch1.3/2-strings/example-1 ch1/ch1.3/2-strings/example-10 ch1/ch1.3/2-strings/example-11 ch1/ch1.3/2-strings/example-12 ch1/ch1.3/2-strings/example-13 ch1/ch1.3/2-strings/example-2 ch1/ch1.3/2-strings/example-3 ch1/ch1.3/2-strings/example-4 ch1/ch1.3/2-strings/example-5 ch1/ch1.3/2-strings/example-6 ch1/ch1.3/2-strings/example-7 ch1/ch1.3/2-strings/example-8 ch1/ch1.3/2-strings/example-9 ch1/ch1.3/3-slices/example-1 ch1/ch1.3/3-slices/example-10 ch1/ch1.3/3-slices/example-11 ch1/ch1.3/3-slices/example-12 ch1/ch1.3/3-slices/example-13 ch1/ch1.3/3-slices/example-14 ch1/ch1.3/3-slices/example-15 ch1/ch1.3/3-slices/example-16 ch1/ch1.3/3-slices/example-17 ch1/ch1.3/3-slices/example-18 ch1/ch1.3/3-slices/example-19 ch1/ch1.3/3-slices/example-2 ch1/ch1.3/3-slices/example-3 ch1/ch1.3/3-slices/example-4 ch1/ch1.3/3-slices/example-5 ch1/ch1.3/3-slices/example-6 ch1/ch1.3/3-slices/example-7 ch1/ch1.3/3-slices/example-8 ch1/ch1.3/3-slices/example-9 ch1/ch1.4/1-function/example-1 ch1/ch1.4/1-function/example-2 ch1/ch1.4/1-function/example-3 ch1/ch1.4/2-method/example-1 ch1/ch1.4/2-method/example-2 ch1/ch1.4/2-method/example-3 ch1/ch1.4/2-method/example-4 ch1/ch1.4/3-interface/example-1 ch1/ch1.4/3-interface/example-2 ch1/ch1.4/3-interface/example-3 ch1/ch1.5/2-atomic-operation/example-1 ch1/ch1.5/2-atomic-operation/example-2 ch1/ch1.5/2-atomic-operation/example-3 ch1/ch1.5/2-atomic-operation/example-4 ch1/ch1.5/2-atomic-operation/example-5 ch1/ch1.5/2-atomic-operation/example-6 ch1/ch1.5/2-atomic-operation/example-8 ch1/ch1.5/3-sequence-consistency-mem-model/example-9 ch1/ch1.5/5-create-go-routine/example-10 ch1/ch1.5/6-channel-base-com/example-11 ch1/ch1.5/6-channel-base-com/example-12 ch1/ch1.5/6-channel-base-com/example-13 ch1/ch1.6/1-hello-world-concurrent-ver/example-1 ch1/ch1.6/1-hello-world-concurrent-ver/example-2 ch1/ch1.6/1-hello-world-concurrent-ver/example-3 ch1/ch1.6/1-hello-world-concurrent-ver/example-4 ch1/ch1.6/1-hello-world-concurrent-ver/example-5 ch1/ch1.6/1-hello-world-concurrent-ver/example-6 ch1/ch1.6/2-producer-consumer/example-1 ch1/ch1.6/2-producer-consumer/example-2 ch1/ch1.6/3-pubsub/example-1 ch1/ch1.6/3-pubsub/example-1/pubsub ch1/ch1.6/4-controlling-concurrency/example-1 ch1/ch1.6/5-winner-is-king/example-1 ch1/ch1.6/6-prime-sieve/example-1 ch1/ch1.6/7-concurrent-exit/example-1 ch1/ch1.6/7-concurrent-exit/example-2 ch1/ch1.6/7-concurrent-exit/example-3 ch1/ch1.6/7-concurrent-exit/example-4 ch1/ch1.6/8-context-package/example-1 ch1/ch1.6/8-context-package/example2 ch2/ch2.1/1-simplest-cgo ch2/ch2.1/2-cputs ch2/ch2.1/3a-cfunction ch2/ch2.1/3b-cfunction ch2/ch2.1/4-modularization ch2/ch2.1/5-implement-function-go ch2/ch2.1/6a-go-programming ch2/ch2.1/6b-go-programming ch2/ch2.10 ch2/ch2.2/1-cchar/cgo_helper ch2/ch2.2/1-cchar/main ch2/ch2.2/1-simplest-go ch2/ch2.2/2-cgo-statement ch2/ch2.3/3-struct-union-enum/example-1 ch2/ch2.3/3-struct-union-enum/example-2 ch2/ch2.3/3-struct-union-enum/example-3 ch2/ch2.3/3-struct-union-enum/example-4 ch2/ch2.3/3-struct-union-enum/example-5 ch2/ch2.3/3-struct-union-enum/example-6 ch2/ch2.3/3-struct-union-enum/example-7 ch2/ch2.3/4-array-string-slice/example-1 ch2/ch2.4/1-go-call-c/example-1 ch2/ch2.4/2-return-val-c/example-1 ch2/ch2.4/2-return-val-c/example-2 ch2/ch2.4/3-void-return/example-1 ch2/ch2.4/3-void-return/example-2 ch2/ch2.4/3-void-return/example-3 ch2/ch2.5/2-go-call-c/example-1 ch2/ch2.5/2-go-call-c/example-1/_obj ch2/ch2.5/3-c-call-go/example-1 ch2/ch2.5/3-c-call-go/example-1/_obj ch2/ch2.6/2-export-qsort ch2/ch2.6/2-export-qsort/qsort ch2/ch2.6/3-improve/example-1 ch2/ch2.6/3-improve/example-2 ch2/ch2.6/3-improve/example-2/qsort ch2/ch2.6/4-improve2/example ch2/ch2.6/4-improve2/example/qsort ch2/ch2.6/randomgen ch2/ch2.7/1-c-mem-access ch2/ch2.7/2-go-mem-access/example-1 ch2/ch2.7/2-go-mem-access/example-2 ch2/ch2.7/3-go-objectid ch2/ch2.8/1-class-cpp-to-obj-go ch2/ch2.8/2-obj-go-to-class-cpp ch2/ch2.9/1-static-library ch2/ch2.9/2-dynamic-library ch2/ch2.9/3-number-lib ch2/ch2.9/5-modular-func ch2/ch2.9/5-modular-func/number ch3/ch3.1/hello-client-v1 ch3/ch3.1/hello-server-v1 ch3/ch3.1/hello-service-v2/api ch3/ch3.1/hello-service-v2/client ch3/ch3.1/hello-service-v2/server ch3/ch3.1/hello-service-v3/client ch3/ch3.1/hello-service-v3/server ch3/ch3.1/hello-service-v3/server-on-http ch3/ch3.2/hello-server ch3/ch3.2/hello.pb ch3/ch3.2/protoc-gen-go-netrpc ch3/ch3.3/2-watch/example-1/client ch3/ch3.3/2-watch/example-1/server-KVStoreService ch3/ch3.3/3-reverse-rpc/example-1/client ch3/ch3.3/3-reverse-rpc/example-1/server ch3/ch3.3/4-context-info/example-1/client ch3/ch3.3/4-context-info/example-1/server ch3/ch3.3/4-context-info/example-2-auth/client ch3/ch3.3/4-context-info/example-2-auth/server ch3/ch3.4/2-getting-started/client ch3/ch3.4/2-getting-started/helloservice ch3/ch3.4/2-getting-started/server ch3/ch3.4/3-grpc-flow/HelloService ch3/ch3.4/3-grpc-flow/client ch3/ch3.4/3-grpc-flow/server ch3/ch3.4/4-pubsub/clientpub ch3/ch3.4/4-pubsub/clientsub ch3/ch3.4/4-pubsub/pubsubservice ch3/ch3.4/4-pubsub/server ch3/ch3.5/1-tls-certificate ch3/ch3.5/2-token-authentication ch3/ch3.5/3-interceptor ch3/ch3.5/4-with-web-services ch3/ch3.6/pb2-default-value ch3/ch3.6/validators ch3/ch3.7/pb-option ch3/ch3.7/pb-option/main ch3/ch3.8/reflection-service/HelloService ch3/ch3.8/reflection-service/server ch4/ch4.1 ch4/ch4.3/example1 ch4/ch4.3/example2 ch4/ch4.3/example3 ch4/ch4.3/example4 ch4/ch4.3/example5 ch4/ch4.4/2-validator ch4/ch4.4/3-principle ch4/ch4.5/1-mysql ch4/ch4.5/4-connection-pool ch4/ch4.5/5-prepare-statement ch4/ch4.6/0-throughput ch4/ch4.6/2-principle/example-1 ch4/ch4.9/3-2-hash-algorithm ch4/ch4.9/3-3-distribution-uniform ch5/ch5.1/1-snowflake ch5/ch5.1/2-sonyflake ch5/ch5.2/1-counter-no-lock ch5/ch5.2/2-counter-lock ch5/ch5.2/3-try-lock ch5/ch5.2/4-redis-lock ch5/ch5.2/5-zookeeper-lock ch5/ch5.2/6-etcd-lock ch5/ch5.5/1-rand-algo ch5/ch5.6/1-config ch5/ch5.7/1-simple-colly ch5/ch5.7/2-pub-colly-nats ch5/ch5.7/3-sub-colly-nats Click to show internal directories. Click to hide internal directories.