SYMBOL INDEX (1086 symbols across 208 files) FILE: errata/a.go function main (line 7) | func main() { function LoopAdd (line 11) | func LoopAdd(cnt, v0, step int) int FILE: examples/ch1.1/1-hello/main.go function main (line 7) | func main() { FILE: examples/ch1.2/15-hello-go-20091211/hello.go function main (line 5) | func main() { FILE: examples/ch1.2/16-hello-go-v2/hello.go function main (line 13) | func main() { FILE: examples/ch1.2/5-hello-c-1989/hello-c-04.c function main (line 3) | main(void) FILE: examples/ch1.2/xx-hello-go-asm/hello.go function main (line 6) | func main() FILE: examples/ch1.2/xx-hello-go-cgo/hello.go function main (line 11) | func main() { FILE: examples/ch1.2/xx-hello-go-swig/hello.cc function SayHello (line 6) | void SayHello() { FILE: examples/ch1.2/xx-hello-go-swig/hello.go function main (line 12) | func main() { FILE: examples/ch2.1/hello-01/main.go function main (line 9) | func main() { FILE: examples/ch2.1/hello-02/main.go function main (line 15) | func main() { FILE: examples/ch2.1/hello-03/hello.c function SayHello (line 6) | void SayHello(const char* s) { FILE: examples/ch2.1/hello-03/main.go function main (line 9) | func main() { FILE: examples/ch2.1/hello-04/main.go function main (line 18) | func main() { function cgoPuts (line 23) | func cgoPuts(s *C.char) { FILE: examples/ch2.1/hello-05/main.go function main (line 13) | func main() { function SayHello (line 18) | func SayHello(s *C.char) { FILE: examples/ch2.1/hello-06/main.go function main (line 15) | func main() { function SayHello (line 21) | func SayHello(s string) { FILE: examples/ch2.10/hello-py/gopkg.h function cgo_PyArg_ParseTuple_ii (line 25) | static int cgo_PyArg_ParseTuple_ii(PyObject *arg, int *a, int *b) { function PyObject (line 29) | static PyObject* cgo_PyInit_gopkg(void) { type GoInt8 (line 52) | typedef signed char GoInt8; type GoUint8 (line 53) | typedef unsigned char GoUint8; type GoInt16 (line 54) | typedef short GoInt16; type GoUint16 (line 55) | typedef unsigned short GoUint16; type GoInt32 (line 56) | typedef int GoInt32; type GoUint32 (line 57) | typedef unsigned int GoUint32; type GoInt64 (line 58) | typedef long long GoInt64; type GoUint64 (line 59) | typedef unsigned long long GoUint64; type GoInt64 (line 60) | typedef GoInt64 GoInt; type GoUint64 (line 61) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 62) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 63) | typedef float GoFloat32; type GoFloat64 (line 64) | typedef double GoFloat64; type GoComplex64 (line 65) | typedef float _Complex GoComplex64; type GoComplex128 (line 66) | typedef double _Complex GoComplex128; type GoString (line 74) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 77) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 78) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.10/hello-py/main.go function main (line 39) | func main() {} function PyInit_gopkg (line 42) | func PyInit_gopkg() *C.PyObject { function Py_gopkg_sum (line 47) | func Py_gopkg_sum(self, args *C.PyObject) *C.PyObject { FILE: examples/ch2.10/hello-py/py3-config.go function main (line 18) | func main() { FILE: examples/ch2.10/hello-so/_test_so.c function main (line 7) | int main() { FILE: examples/ch2.10/hello-so/main.go function main (line 9) | func main() {} function SayHello (line 12) | func SayHello(name *C.char) { FILE: examples/ch2.10/hello-so/say-hello.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.4/return-go-ptr/main.go function main (line 21) | func main() { function getGoPtr (line 26) | func getGoPtr() *C.int { FILE: examples/ch2.5/01-cgo-gen-files/_obj/_cgo_export.h type _GoString_ (line 13) | typedef struct { const char *p; ptrdiff_t n; } _GoString_; type GoInt8 (line 30) | typedef signed char GoInt8; type GoUint8 (line 31) | typedef unsigned char GoUint8; type GoInt16 (line 32) | typedef short GoInt16; type GoUint16 (line 33) | typedef unsigned short GoUint16; type GoInt32 (line 34) | typedef int GoInt32; type GoUint32 (line 35) | typedef unsigned int GoUint32; type GoInt64 (line 36) | typedef long long GoInt64; type GoUint64 (line 37) | typedef unsigned long long GoUint64; type GoInt64 (line 38) | typedef GoInt64 GoInt; type GoUint64 (line 39) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 40) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 41) | typedef float GoFloat32; type GoFloat64 (line 42) | typedef double GoFloat64; type GoComplex64 (line 43) | typedef float _Complex GoComplex64; type GoComplex128 (line 44) | typedef double _Complex GoComplex128; type _GoString_ (line 52) | typedef _GoString_ GoString; type GoInterface (line 55) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 56) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.5/01-cgo-gen-files/_obj/_cgo_gotypes.go function _Cgo_ptr (line 12) | func _Cgo_ptr(ptr unsafe.Pointer) unsafe.Pointer { return ptr } function _Cgo_use (line 17) | func _Cgo_use(interface{}) type _Ctype_void (line 18) | type _Ctype_void function _cgo_runtime_cgocall (line 21) | func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32 function _cgo_runtime_cgocallback (line 24) | func _cgo_runtime_cgocallback(unsafe.Pointer, unsafe.Pointer, uintptr, u... function _cgoCheckPointer (line 27) | func _cgoCheckPointer(interface{}, ...interface{}) function _cgoCheckResult (line 30) | func _cgoCheckResult(interface{}) FILE: examples/ch2.5/01-cgo-gen-files/_obj/_cgo_main.c function main (line 1) | int main() { return 0; } function crosscall2 (line 2) | void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __... function __SIZE_TYPE__ (line 3) | __SIZE_TYPE__ _cgo_wait_runtime_init_done() { return 0; } function _cgo_release_context (line 4) | void _cgo_release_context(__SIZE_TYPE__ ctxt) { } function _cgo_allocate (line 6) | void _cgo_allocate(void *a, int c) { } function _cgo_panic (line 7) | void _cgo_panic(void *a, int c) { } function _cgo_reginit (line 8) | void _cgo_reginit(void) { } FILE: examples/ch2.5/01-cgo-gen-files/_obj/hello.cgo2.c type intgo (line 6) | typedef ptrdiff_t intgo; type _GoString_ (line 8) | typedef struct { const char *p; intgo n; } _GoString_; type _GoBytes_ (line 9) | typedef struct { char *p; intgo n; intgo c; } _GoBytes_; function _GoStringLen (line 17) | __attribute__ ((unused)) type __cgo_long_long (line 39) | typedef long long __cgo_long_long; FILE: examples/ch2.5/01-cgo-gen-files/_obj/main.cgo1.go function main (line 11) | func main() {} FILE: examples/ch2.5/01-cgo-gen-files/_obj/main.cgo2.c type intgo (line 6) | typedef ptrdiff_t intgo; type _GoString_ (line 8) | typedef struct { const char *p; intgo n; } _GoString_; type _GoBytes_ (line 9) | typedef struct { char *p; intgo n; intgo c; } _GoBytes_; function _GoStringLen (line 17) | __attribute__ ((unused)) type __cgo_long_long (line 39) | typedef long long __cgo_long_long; FILE: examples/ch2.5/01-cgo-gen-files/main.go function main (line 8) | func main() {} FILE: examples/ch2.5/02-go-call-c-func/_obj/_cgo_export.h type _GoString_ (line 13) | typedef struct { const char *p; ptrdiff_t n; } _GoString_; type GoInt8 (line 30) | typedef signed char GoInt8; type GoUint8 (line 31) | typedef unsigned char GoUint8; type GoInt16 (line 32) | typedef short GoInt16; type GoUint16 (line 33) | typedef unsigned short GoUint16; type GoInt32 (line 34) | typedef int GoInt32; type GoUint32 (line 35) | typedef unsigned int GoUint32; type GoInt64 (line 36) | typedef long long GoInt64; type GoUint64 (line 37) | typedef unsigned long long GoUint64; type GoInt64 (line 38) | typedef GoInt64 GoInt; type GoUint64 (line 39) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 40) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 41) | typedef float GoFloat32; type GoFloat64 (line 42) | typedef double GoFloat64; type GoComplex64 (line 43) | typedef float _Complex GoComplex64; type GoComplex128 (line 44) | typedef double _Complex GoComplex128; type _GoString_ (line 52) | typedef _GoString_ GoString; type GoInterface (line 55) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 56) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.5/02-go-call-c-func/_obj/_cgo_gotypes.go function _Cgo_ptr (line 12) | func _Cgo_ptr(ptr unsafe.Pointer) unsafe.Pointer { return ptr } function _Cgo_use (line 17) | func _Cgo_use(interface{}) type _Ctype_int (line 18) | type _Ctype_int type _Ctype_void (line 20) | type _Ctype_void function _cgo_runtime_cgocall (line 23) | func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32 function _cgo_runtime_cgocallback (line 26) | func _cgo_runtime_cgocallback(unsafe.Pointer, unsafe.Pointer, uintptr, u... function _cgoCheckPointer (line 29) | func _cgoCheckPointer(interface{}, ...interface{}) function _cgoCheckResult (line 32) | func _cgoCheckResult(interface{}) function _Cfunc_sum (line 40) | func _Cfunc_sum(p0 _Ctype_int, p1 _Ctype_int) (r1 _Ctype_int) { FILE: examples/ch2.5/02-go-call-c-func/_obj/_cgo_main.c function main (line 1) | int main() { return 0; } function crosscall2 (line 2) | void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __... function __SIZE_TYPE__ (line 3) | __SIZE_TYPE__ _cgo_wait_runtime_init_done() { return 0; } function _cgo_release_context (line 4) | void _cgo_release_context(__SIZE_TYPE__ ctxt) { } function _cgo_allocate (line 6) | void _cgo_allocate(void *a, int c) { } function _cgo_panic (line 7) | void _cgo_panic(void *a, int c) { } function _cgo_reginit (line 8) | void _cgo_reginit(void) { } FILE: examples/ch2.5/02-go-call-c-func/_obj/main.cgo1.go function main (line 12) | func main() { FILE: examples/ch2.5/02-go-call-c-func/_obj/main.cgo2.c type intgo (line 6) | typedef ptrdiff_t intgo; type _GoString_ (line 8) | typedef struct { const char *p; intgo n; } _GoString_; type _GoBytes_ (line 9) | typedef struct { char *p; intgo n; intgo c; } _GoBytes_; function _GoStringLen (line 17) | __attribute__ ((unused)) function sum (line 24) | int sum(int a, int b) { return a+b; } type __cgo_long_long (line 43) | typedef long long __cgo_long_long; function CGO_NO_SANITIZE_THREAD (line 58) | CGO_NO_SANITIZE_THREAD FILE: examples/ch2.5/02-go-call-c-func/main.go function main (line 9) | func main() { FILE: examples/ch2.5/03-c-call-go-func/_obj/_cgo_export.c function CGO_NO_SANITIZE_THREAD (line 16) | CGO_NO_SANITIZE_THREAD FILE: examples/ch2.5/03-c-call-go-func/_obj/_cgo_export.h type _GoString_ (line 13) | typedef struct { const char *p; ptrdiff_t n; } _GoString_; type GoInt8 (line 35) | typedef signed char GoInt8; type GoUint8 (line 36) | typedef unsigned char GoUint8; type GoInt16 (line 37) | typedef short GoInt16; type GoUint16 (line 38) | typedef unsigned short GoUint16; type GoInt32 (line 39) | typedef int GoInt32; type GoUint32 (line 40) | typedef unsigned int GoUint32; type GoInt64 (line 41) | typedef long long GoInt64; type GoUint64 (line 42) | typedef unsigned long long GoUint64; type GoInt64 (line 43) | typedef GoInt64 GoInt; type GoUint64 (line 44) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 45) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 46) | typedef float GoFloat32; type GoFloat64 (line 47) | typedef double GoFloat64; type GoComplex64 (line 48) | typedef float _Complex GoComplex64; type GoComplex128 (line 49) | typedef double _Complex GoComplex128; type _GoString_ (line 57) | typedef _GoString_ GoString; type GoInterface (line 60) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 61) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.5/03-c-call-go-func/_obj/_cgo_gotypes.go function _Cgo_ptr (line 12) | func _Cgo_ptr(ptr unsafe.Pointer) unsafe.Pointer { return ptr } function _Cgo_use (line 17) | func _Cgo_use(interface{}) type _Ctype_int (line 18) | type _Ctype_int type _Ctype_void (line 20) | type _Ctype_void function _cgo_runtime_cgocall (line 23) | func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32 function _cgo_runtime_cgocallback (line 26) | func _cgo_runtime_cgocallback(unsafe.Pointer, unsafe.Pointer, uintptr, u... function _cgoCheckPointer (line 29) | func _cgoCheckPointer(interface{}, ...interface{}) function _cgoCheckResult (line 32) | func _cgoCheckResult(interface{}) function _cgoexp_8313eaf44386_sum (line 39) | func _cgoexp_8313eaf44386_sum(a unsafe.Pointer, n int32, ctxt uintptr) { function _cgoexpwrap_8313eaf44386_sum (line 44) | func _cgoexpwrap_8313eaf44386_sum(p0 _Ctype_int, p1 _Ctype_int) (r0 _Cty... FILE: examples/ch2.5/03-c-call-go-func/_obj/_cgo_main.c function main (line 1) | int main() { return 0; } function crosscall2 (line 2) | void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __... function __SIZE_TYPE__ (line 3) | __SIZE_TYPE__ _cgo_wait_runtime_init_done() { return 0; } function _cgo_release_context (line 4) | void _cgo_release_context(__SIZE_TYPE__ ctxt) { } function _cgo_allocate (line 6) | void _cgo_allocate(void *a, int c) { } function _cgo_panic (line 7) | void _cgo_panic(void *a, int c) { } function _cgo_reginit (line 8) | void _cgo_reginit(void) { } FILE: examples/ch2.5/03-c-call-go-func/_obj/sum.cgo1.go function sum (line 13) | func sum(a, b _Ctype_int) _Ctype_int { function main (line 17) | func main() {} FILE: examples/ch2.5/03-c-call-go-func/_obj/sum.cgo2.c type intgo (line 6) | typedef ptrdiff_t intgo; type _GoString_ (line 8) | typedef struct { const char *p; intgo n; } _GoString_; type _GoBytes_ (line 9) | typedef struct { char *p; intgo n; intgo c; } _GoBytes_; function _GoStringLen (line 17) | __attribute__ ((unused)) type __cgo_long_long (line 43) | typedef long long __cgo_long_long; FILE: examples/ch2.5/03-c-call-go-func/main.c function main (line 6) | int main() { FILE: examples/ch2.5/03-c-call-go-func/sum.go function sum (line 10) | func sum(a, b C.int) C.int { function main (line 14) | func main() {} FILE: examples/ch2.5/03-c-call-go-func/sum.h type _GoString_ (line 13) | typedef struct { const char *p; ptrdiff_t n; } _GoString_; type GoInt8 (line 35) | typedef signed char GoInt8; type GoUint8 (line 36) | typedef unsigned char GoUint8; type GoInt16 (line 37) | typedef short GoInt16; type GoUint16 (line 38) | typedef unsigned short GoUint16; type GoInt32 (line 39) | typedef int GoInt32; type GoUint32 (line 40) | typedef unsigned int GoUint32; type GoInt64 (line 41) | typedef long long GoInt64; type GoUint64 (line 42) | typedef unsigned long long GoUint64; type GoInt64 (line 43) | typedef GoInt64 GoInt; type GoUint64 (line 44) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 45) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 46) | typedef float GoFloat32; type GoFloat64 (line 47) | typedef double GoFloat64; type GoComplex64 (line 48) | typedef float _Complex GoComplex64; type GoComplex128 (line 49) | typedef double _Complex GoComplex128; type _GoString_ (line 57) | typedef _GoString_ GoString; type GoInterface (line 60) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 61) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.6/01-qsort-v1/main.c function cmp (line 9) | static int cmp(const void* a, const void* b) { function main (line 15) | int main() { FILE: examples/ch2.6/02-qsort-v2/main.go function main (line 18) | func main() { function go_qsort_compare (line 29) | func go_qsort_compare(a, b unsafe.Pointer) C.int { FILE: examples/ch2.6/02-qsort-v2/qsort.go type CompareFunc (line 15) | type CompareFunc function Sort (line 17) | func Sort(base unsafe.Pointer, num, size int, cmp CompareFunc) { FILE: examples/ch2.6/02-qsort-v2/qsort_test.go function TestSort (line 12) | func TestSort(t *testing.T) { FILE: examples/ch2.6/02-qsort-v2/test_helper.go function t_get_go_qsort_compare (line 13) | func t_get_go_qsort_compare() CompareFunc { function t_go_qsort_compare (line 18) | func t_go_qsort_compare(a, b unsafe.Pointer) C.int { FILE: examples/ch2.6/03-qsort-v3/main.go function main (line 15) | func main() { FILE: examples/ch2.6/03-qsort-v3/sort.go function _cgo_qsort_compare (line 24) | func _cgo_qsort_compare(a, b unsafe.Pointer) C.int { function Sort (line 28) | func Sort(base unsafe.Pointer, num, size int, cmp func(a, b unsafe.Point... FILE: examples/ch2.6/03-qsort-v3/sort_test.go function TestSort (line 12) | func TestSort(t *testing.T) { FILE: examples/ch2.6/04-qsort-v4/main.go function main (line 14) | func main() { FILE: examples/ch2.6/04-qsort-v4/sort.go function _cgo_qsort_compare (line 31) | func _cgo_qsort_compare(a, b unsafe.Pointer) C.int { function Slice (line 51) | func Slice(slice interface{}, less func(a, b int) bool) { FILE: examples/ch2.6/04-qsort-v4/sort_test.go function TestSlice (line 11) | func TestSlice(t *testing.T) { FILE: examples/ch2.8/class-cc2go/main.go function main (line 10) | func main() { FILE: examples/ch2.8/class-cc2go/my_buffer.go type MyBuffer (line 8) | type MyBuffer struct method Delete (line 18) | func (p *MyBuffer) Delete() { method Data (line 22) | func (p *MyBuffer) Data() []byte { function NewMyBuffer (line 12) | func NewMyBuffer(size int) *MyBuffer { FILE: examples/ch2.8/class-cc2go/my_buffer.h function MyBuffer (line 6) | struct MyBuffer { FILE: examples/ch2.8/class-cc2go/my_buffer_capi.cc type MyBuffer_T (line 10) | struct MyBuffer_T: MyBuffer { method MyBuffer_T (line 11) | MyBuffer_T(int size): MyBuffer(size) {} function MyBuffer_T (line 15) | MyBuffer_T* NewMyBuffer(int size) { method MyBuffer_T (line 11) | MyBuffer_T(int size): MyBuffer(size) {} function DeleteMyBuffer (line 19) | void DeleteMyBuffer(MyBuffer_T* p) { function MyBuffer_Size (line 26) | int MyBuffer_Size(MyBuffer_T* p) { FILE: examples/ch2.8/class-cc2go/my_buffer_capi.go type cgo_MyBuffer_T (line 13) | type cgo_MyBuffer_T function cgo_NewMyBuffer (line 15) | func cgo_NewMyBuffer(size int) *cgo_MyBuffer_T { function cgo_DeleteMyBuffer (line 20) | func cgo_DeleteMyBuffer(p *cgo_MyBuffer_T) { function cgo_MyBuffer_Data (line 24) | func cgo_MyBuffer_Data(p *cgo_MyBuffer_T) *C.char { function cgo_MyBuffer_Size (line 28) | func cgo_MyBuffer_Size(p *cgo_MyBuffer_T) C.int { FILE: examples/ch2.8/class-cc2go/my_buffer_capi.h type MyBuffer_T (line 4) | typedef struct MyBuffer_T MyBuffer_T; FILE: examples/ch2.8/class-go2cc/goobj.go type ObjectId (line 10) | type ObjectId method IsNil (line 37) | func (id ObjectId) IsNil() bool { method Get (line 41) | func (id ObjectId) Get() interface{} { method Free (line 48) | func (id ObjectId) Free() interface{} { function init (line 18) | func init() { function NewObjectId (line 26) | func NewObjectId(obj interface{}) ObjectId { FILE: examples/ch2.8/class-go2cc/main.cc function Main (line 8) | void Main() { FILE: examples/ch2.8/class-go2cc/main.go function main (line 10) | func main() { FILE: examples/ch2.8/class-go2cc/persion.go type Person (line 6) | type Person struct method Set (line 18) | func (p *Person) Set(name string, age int) { method Get (line 23) | func (p *Person) Get() (name string, age int) { function NewPerson (line 11) | func NewPerson(name string, age int) *Person { FILE: examples/ch2.8/class-go2cc/person.h function Delete (line 8) | struct Person { function Set (line 16) | void Set(char* name, int age) { function GetAge (line 22) | int GetAge() { FILE: examples/ch2.8/class-go2cc/person_capi.go function person_new (line 11) | func person_new(name *C.char, age C.int) C.person_handle_t { function person_delete (line 17) | func person_delete(h C.person_handle_t) { function person_set (line 22) | func person_set(h C.person_handle_t, name *C.char, age C.int) { function person_get_name (line 28) | func person_get_name(h C.person_handle_t, buf *C.char, size C.int) *C.ch... function person_get_age (line 41) | func person_get_age(h C.person_handle_t) C.int { FILE: examples/ch2.8/class-go2cc/person_capi.h type person_handle_t (line 6) | typedef uintptr_t person_handle_t; FILE: examples/ch2.9/incorrect-dll-api/main.go function main (line 17) | func main() { FILE: examples/ch2.9/incorrect-dll-api/mystring/mystring.c function free (line 14) | static void free(void* p) { function free_string (line 24) | void free_string(char* s) { FILE: examples/ch2.9/make-clib-dll/_test_main.c function main (line 8) | int main() { FILE: examples/ch2.9/make-clib-dll/main.go function main (line 8) | func main() {} function number_add_mod (line 11) | func number_add_mod(a, b, mod C.int) C.int { FILE: examples/ch2.9/make-clib-dll/number.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.9/make-clib-from-multi-pkg/_test_main.c function main (line 9) | int main() { FILE: examples/ch2.9/make-clib-from-multi-pkg/main.go function main (line 14) | func main() { function goPrintln (line 19) | func goPrintln(s *C.char) { FILE: examples/ch2.9/make-clib-from-multi-pkg/main.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.9/make-clib-from-multi-pkg/number/number.go function number_add_mod (line 9) | func number_add_mod(a, b, mod C.int) C.int { FILE: examples/ch2.9/make-clib-shared/_test_main.c function main (line 8) | int main() { FILE: examples/ch2.9/make-clib-shared/main.go function main (line 8) | func main() {} function number_add_mod (line 11) | func number_add_mod(a, b, mod C.int) C.int { FILE: examples/ch2.9/make-clib-shared/number.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.9/make-clib-static/_test_main.c function main (line 8) | int main() { FILE: examples/ch2.9/make-clib-static/main.go function main (line 8) | func main() {} function number_add_mod (line 11) | func number_add_mod(a, b, mod C.int) C.int { FILE: examples/ch2.9/make-clib-static/number.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.9/plugin/main.go function main (line 8) | func main() { FILE: examples/ch2.9/plugin/plugin.go function main (line 11) | func main() function F (line 15) | func F() { fmt.Printf("Hello, number %d\n", V) } FILE: examples/ch2.9/use-clib-shared/main.go function main (line 13) | func main() { FILE: examples/ch2.9/use-clib-shared/number/number.c function number_add_mod (line 3) | int number_add_mod(int a, int b, int mod) { FILE: examples/ch2.9/use-clib-static-v1/main.go function main (line 13) | func main() { FILE: examples/ch2.9/use-clib-static-v1/number/number.c function number_add_mod (line 3) | int number_add_mod(int a, int b, int mod) { FILE: examples/ch2.9/use-clib-static-v2/main.go function main (line 11) | func main() { FILE: examples/ch2.9/use-clib-static-v2/number/number.c function number_add_mod (line 3) | int number_add_mod(int a, int b, int mod) { FILE: examples/ch2.x/hello-swig-v1/hello.cc function SayHello (line 6) | void SayHello() { FILE: examples/ch2.x/hello-swig-v1/hello_test.go function TestSayHello (line 10) | func TestSayHello(t *testing.T) { FILE: examples/ch2.x/hello-swig-v1/runme.go function main (line 12) | func main() { FILE: examples/ch2.x/hello-swig-v2/hello.cc function SayHello (line 6) | void SayHello() { FILE: examples/ch2.x/hello-swig-v2/hello.go type _ (line 43) | type _ type _swig_fnptr (line 51) | type _swig_fnptr type _swig_memberptr (line 52) | type _swig_memberptr type _ (line 55) | type _ function Swig_free (line 57) | func Swig_free(arg1 uintptr) { function Swig_malloc (line 62) | func Swig_malloc(arg1 int) (_swig_ret uintptr) { function SayHello (line 69) | func SayHello() { FILE: examples/ch2.x/hello-swig-v2/runme.go function main (line 12) | func main() { FILE: examples/ch2.x/hello/_obj/_cgo_export.c function CGO_NO_SANITIZE_THREAD (line 16) | CGO_NO_SANITIZE_THREAD function CGO_NO_SANITIZE_THREAD (line 31) | CGO_NO_SANITIZE_THREAD function CGO_NO_SANITIZE_THREAD (line 46) | CGO_NO_SANITIZE_THREAD FILE: examples/ch2.x/hello/_obj/_cgo_export.h type GoInt8 (line 19) | typedef signed char GoInt8; type GoUint8 (line 20) | typedef unsigned char GoUint8; type GoInt16 (line 21) | typedef short GoInt16; type GoUint16 (line 22) | typedef unsigned short GoUint16; type GoInt32 (line 23) | typedef int GoInt32; type GoUint32 (line 24) | typedef unsigned int GoUint32; type GoInt64 (line 25) | typedef long long GoInt64; type GoUint64 (line 26) | typedef unsigned long long GoUint64; type GoInt64 (line 27) | typedef GoInt64 GoInt; type GoUint64 (line 28) | typedef GoUint64 GoUint; type __SIZE_TYPE__ (line 29) | typedef __SIZE_TYPE__ GoUintptr; type GoFloat32 (line 30) | typedef float GoFloat32; type GoFloat64 (line 31) | typedef double GoFloat64; type GoComplex64 (line 32) | typedef float _Complex GoComplex64; type GoComplex128 (line 33) | typedef double _Complex GoComplex128; type GoString (line 41) | typedef struct { const char *p; GoInt n; } GoString; type GoInterface (line 44) | typedef struct { void *t; void *v; } GoInterface; type GoSlice (line 45) | typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; FILE: examples/ch2.x/hello/_obj/_cgo_gotypes.go function _Cgo_ptr (line 12) | func _Cgo_ptr(ptr unsafe.Pointer) unsafe.Pointer { return ptr } function _Cgo_use (line 17) | func _Cgo_use(interface{}) type _Ctype_void (line 18) | type _Ctype_void function _cgo_runtime_cgocall (line 21) | func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32 function _cgo_runtime_cgocallback (line 24) | func _cgo_runtime_cgocallback(unsafe.Pointer, unsafe.Pointer, uintptr, u... function _cgoCheckPointer (line 27) | func _cgoCheckPointer(interface{}, ...interface{}) function _cgoCheckResult (line 30) | func _cgoCheckResult(interface{}) function _cgoexp_16f1900c27a8_helloInt (line 37) | func _cgoexp_16f1900c27a8_helloInt(a unsafe.Pointer, n int32, ctxt uintp... function _cgoexpwrap_16f1900c27a8_helloInt (line 42) | func _cgoexpwrap_16f1900c27a8_helloInt(p0 int) { function _cgoexp_16f1900c27a8_helloString (line 50) | func _cgoexp_16f1900c27a8_helloString(a unsafe.Pointer, n int32, ctxt ui... function _cgoexpwrap_16f1900c27a8_helloString (line 55) | func _cgoexpwrap_16f1900c27a8_helloString(p0 string) { function _cgoexp_16f1900c27a8_helloSlice (line 63) | func _cgoexp_16f1900c27a8_helloSlice(a unsafe.Pointer, n int32, ctxt uin... function _cgoexpwrap_16f1900c27a8_helloSlice (line 68) | func _cgoexpwrap_16f1900c27a8_helloSlice(p0 []byte) { FILE: examples/ch2.x/hello/_obj/_cgo_main.c function main (line 1) | int main() { return 0; } function crosscall2 (line 2) | void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __... function __SIZE_TYPE__ (line 3) | __SIZE_TYPE__ _cgo_wait_runtime_init_done() { return 0; } function _cgo_release_context (line 4) | void _cgo_release_context(__SIZE_TYPE__ ctxt) { } function _cgo_allocate (line 6) | void _cgo_allocate(void *a, int c) { } function _cgo_panic (line 7) | void _cgo_panic(void *a, int c) { } function _cgo_reginit (line 8) | void _cgo_reginit(void) { } FILE: examples/ch2.x/hello/_obj/hello.cgo1.go function main (line 7) | func main() { function helloInt (line 12) | func helloInt(s int) { function helloString (line 17) | func helloString(s string) { function helloSlice (line 22) | func helloSlice(s []byte) { FILE: examples/ch2.x/hello/_obj/hello.cgo2.c type __cgo_long_long (line 17) | typedef long long __cgo_long_long; FILE: examples/ch2.x/hello/hello.go function main (line 8) | func main() { function helloInt (line 13) | func helloInt(s int) { function helloString (line 18) | func helloString(s string) { function helloSlice (line 23) | func helloSlice(s []byte) { FILE: examples/ch3.1/id-01/runme.go function main (line 7) | func main() { FILE: examples/ch3.1/id-02/runme.go function main (line 9) | func main() { FILE: examples/ch3.1/main-01/main.go function main (line 5) | func main() FILE: examples/ch3.1/str-02/runme.go function main (line 9) | func main() { FILE: examples/ch3.1/str-03/runme.go function main (line 9) | func main() { FILE: examples/ch3.6/asm-split/main.go function main (line 4) | func main() { function printnl (line 8) | func printnl() FILE: examples/ch3.6/closure-01/main.go function NewTwiceFunClosure (line 6) | func NewTwiceFunClosure(x int) func() int { function main (line 13) | func main() { FILE: examples/ch3.6/closure-02/main.go type FunTwiceClosure (line 10) | type FunTwiceClosure struct function NewTwiceFunClosure (line 15) | func NewTwiceFunClosure(x int) func() int { function ptrToFunc (line 23) | func ptrToFunc(p unsafe.Pointer) func() int function asmFunTwiceClosureAddr (line 25) | func asmFunTwiceClosureAddr() uintptr function asmFunTwiceClosureBody (line 26) | func asmFunTwiceClosureBody() int function main (line 28) | func main() { FILE: examples/ch3.8/ch3.8-1/main.go function main (line 3) | func main() { FILE: examples/ch3.8/ch3.8-2/main.go function main (line 5) | func main() { FILE: examples/ch3.8/ch3.8-3/main.go function main (line 11) | func main() { function GetGoid (line 20) | func GetGoid() int64 { FILE: examples/ch3.8/ch3.8-4/main.go function getg (line 7) | func getg() unsafe.Pointer constant g_goid_offset (line 9) | g_goid_offset = 152 function GetGroutineId (line 11) | func GetGroutineId() int64 { function main (line 17) | func main() { FILE: examples/ch3.8/ch3.8-5/main.go function getg (line 8) | func getg() interface{} type eface (line 10) | type eface struct function runtime_convT2E_hack (line 15) | func runtime_convT2E_hack(_type, elem uintptr) eface { function GetGoid (line 22) | func GetGoid() int64 { function main (line 27) | func main() { FILE: examples/ch3.8/ch3.8-6/gls/gls.go function init (line 10) | func init() { function getMap (line 14) | func getMap() map[interface{}]interface{} { function Get (line 28) | func Get(key interface{}) interface{} { function Put (line 31) | func Put(key interface{}, v interface{}) { function Delete (line 34) | func Delete(key interface{}) { function Clean (line 38) | func Clean() { FILE: examples/ch3.8/ch3.8-6/gls/goid.go function getg (line 7) | func getg() interface{} type eface (line 9) | type eface struct function runtime_convT2E_hack (line 14) | func runtime_convT2E_hack(_type, elem uintptr) eface { function GetGoid (line 21) | func GetGoid() int64 { FILE: examples/ch3.8/ch3.8-6/main.go function main (line 10) | func main() { FILE: examples/ch3.8/hello-asm/main.go function main (line 3) | func main() { asmSayHello() } function asmSayHello (line 5) | func asmSayHello() FILE: examples/ch3.8/hello/main.go function main (line 7) | func main() { FILE: examples/ch3.x/add/add.go function Add (line 8) | func Add(a, b int) int { function AddSlice (line 12) | func AddSlice(dst, a, b []int) { FILE: examples/ch3.x/add/add_asm.go function AsmAdd (line 10) | func AsmAdd(a, b int) int function AsmAddSlice (line 12) | func AsmAddSlice(dst, a, b []int) { function AsmAddSlice__todo (line 16) | func AsmAddSlice__todo(dst, a, b []int) FILE: examples/ch3.x/add/add_asm_generic.go function AsmAdd (line 10) | func AsmAdd(a, b int) int { function AsmAddSlice (line 14) | func AsmAddSlice(dst, a, b []int) { FILE: examples/ch3.x/add/add_test.go function TestAdd (line 12) | func TestAdd(t *testing.T) { function TestAddSlice (line 25) | func TestAddSlice(t *testing.T) { function BenchmarkAdd (line 52) | func BenchmarkAdd(b *testing.B) { function BenchmarkAddSlice (line 65) | func BenchmarkAddSlice(b *testing.B) { FILE: examples/ch3.x/add/runme.go function main (line 12) | func main() { FILE: examples/ch3.x/binary_search/binary_search.go function BinarySearch (line 6) | func BinarySearch(arr []int, num int) bool FILE: examples/ch3.x/binary_search/binary_search_test.go function TestBinarySearch (line 8) | func TestBinarySearch(t *testing.T) { FILE: examples/ch3.x/cfun/main.go function main (line 19) | func main() { FILE: examples/ch3.x/cfun/vendor/asmpkg/asmpkg.go function CallCAdd_SystemV_ABI (line 3) | func CallCAdd_SystemV_ABI(cfun uintptr, a, b int64) int64 function CallCAdd_Win64_ABI (line 4) | func CallCAdd_Win64_ABI(cfun uintptr, a, b int64) int64 function SyscallWrite_Darwin (line 6) | func SyscallWrite_Darwin(fd int, msg string) int function SyscallWrite_Linux (line 7) | func SyscallWrite_Linux(fd int, msg string) int function SyscallWrite_Windows (line 8) | func SyscallWrite_Windows(fd int, msg string) int function CopySlice_AVX2 (line 10) | func CopySlice_AVX2(dst, src []byte, len int) FILE: examples/ch3.x/globalvar/globalvar.go type PkgInfo (line 10) | type PkgInfo struct function init (line 21) | func init() { function GetPkgValue (line 30) | func GetPkgValue() int function GetPkgInfo (line 32) | func GetPkgInfo() PkgInfo FILE: examples/ch3.x/globalvar/runme.go function main (line 14) | func main() { FILE: examples/ch3.x/hello/hello.go function PrintHelloWorld (line 8) | func PrintHelloWorld() function PrintHelloWorld_zh (line 9) | func PrintHelloWorld_zh() function PrintHelloWorld_var (line 10) | func PrintHelloWorld_var() FILE: examples/ch3.x/hello/runme.go function main (line 14) | func main() { FILE: examples/ch3.x/ifelse/ifelse.go function If (line 8) | func If(ok bool, a, b int) int { function AsmIf (line 15) | func AsmIf(ok bool, a, b int) int FILE: examples/ch3.x/ifelse/ifelse_test.go function TestMin (line 12) | func TestMin(t *testing.T) { FILE: examples/ch3.x/ifelse/runme.go function main (line 12) | func main() { FILE: examples/ch3.x/instr/bench_test.go function BenchmarkSum (line 10) | func BenchmarkSum(b *testing.B) { function BenchmarkSum2 (line 17) | func BenchmarkSum2(b *testing.B) { FILE: examples/ch3.x/instr/instr.go function Add (line 6) | func Add(n, m int64) int64 { function Add2 (line 10) | func Add2(n, m int64) int64 function BSF (line 14) | func BSF(n int64) int function BSF32 (line 16) | func BSF32(n int32) int32 function Sum (line 18) | func Sum(s []int64) int64 { function Sum2 (line 26) | func Sum2(s []int64) int64 FILE: examples/ch3.x/loop/loop.go function LoopAdd (line 8) | func LoopAdd(cnt, v0, step int) int { function AsmLoopAdd (line 16) | func AsmLoopAdd(cnt, v0, step int) int FILE: examples/ch3.x/loop/loop_test.go function TestLoopAdd (line 12) | func TestLoopAdd(t *testing.T) { function BenchmarkLoopAdd (line 43) | func BenchmarkLoopAdd(b *testing.B) { FILE: examples/ch3.x/loop/runme.go function main (line 12) | func main() { FILE: examples/ch3.x/min/min.go function Min (line 8) | func Min(a, b int) int { function MinNoInline (line 16) | func MinNoInline(a, b int) int { function Max (line 23) | func Max(a, b int) int { function AsmMin (line 30) | func AsmMin(a, b int) int function AsmMax (line 31) | func AsmMax(a, b int) int FILE: examples/ch3.x/min/min_test.go function TestMin (line 12) | func TestMin(t *testing.T) { function TestMax (line 30) | func TestMax(t *testing.T) { function BenchmarkMin (line 49) | func BenchmarkMin(b *testing.B) { FILE: examples/ch3.x/min/runme.go function main (line 12) | func main() { FILE: examples/ch3.x/slice/runme.go function main (line 12) | func main() { FILE: examples/ch3.x/slice/slice.go function SumIntSlice (line 8) | func SumIntSlice(s []int) int { function SumFloat32Slice (line 16) | func SumFloat32Slice(s []float32) float32 { function SumFloat64Slice (line 24) | func SumFloat64Slice(s []float64) float64 { function AsmSumInt16Slice (line 32) | func AsmSumInt16Slice(v []int16) int16 function AsmSumIntSlice (line 34) | func AsmSumIntSlice(s []int) int function AsmSumIntSliceV2 (line 35) | func AsmSumIntSliceV2(s []int) int FILE: examples/ch3.x/slice/slice_test.go function TestLoopAdd (line 12) | func TestLoopAdd(t *testing.T) { function BenchmarkLoopAdd (line 30) | func BenchmarkLoopAdd(b *testing.B) { FILE: examples/ch3.x/stackmap/stackmap.go function X (line 6) | func X(b []byte) []byte function growSlice (line 17) | func growSlice(b []byte) []byte { FILE: examples/ch3.x/stackmap/stackmap_test.go function TestX (line 11) | func TestX(t *testing.T) { function mkSlice (line 35) | func mkSlice(cap int, vs ...byte) []byte { function slicesEqual (line 42) | func slicesEqual(b0, b1 []byte) bool { FILE: examples/ch3.x/sum/sum.go function Sum (line 6) | func Sum(a int, b int) int FILE: examples/ch3.x/sum/sum_test.go function TestSum (line 8) | func TestSum(t *testing.T) { FILE: examples/ch3.x/vector/vector.go function Find (line 6) | func Find(vec []int, num int) bool function SumVec (line 8) | func SumVec(vec1 []int32, vec2 []int32) [4]int32 FILE: examples/ch3.x/vector/vector_test.go function TestFind (line 8) | func TestFind(t *testing.T) { function TestSum (line 19) | func TestSum(t *testing.T) { FILE: examples/ch4.1/hello-client-v1/main.go function main (line 9) | func main() { FILE: examples/ch4.1/hello-server-v1/main.go type HelloService (line 9) | type HelloService struct method Hello (line 11) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 16) | func main() { FILE: examples/ch4.1/hello-service-v2/api/hello.go constant HelloServiceName (line 5) | HelloServiceName = "path/to/pkg.HelloService" function RegisterHelloService (line 11) | func RegisterHelloService(svc HelloServiceInterface) error { type HelloServiceClient (line 15) | type HelloServiceClient struct method Hello (line 29) | func (p *HelloServiceClient) Hello(request string, reply *string) error { function DialHelloService (line 21) | func DialHelloService(network, address string) (*HelloServiceClient, err... FILE: examples/ch4.1/hello-service-v2/client/main.go type HelloService (line 10) | type HelloService struct method Hello (line 12) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 17) | func main() { FILE: examples/ch4.1/hello-service-v2/server/main.go type HelloService (line 11) | type HelloService struct method Hello (line 13) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 18) | func main() { FILE: examples/ch4.1/hello-service-v3/client/main.go function main (line 14) | func main() { FILE: examples/ch4.1/hello-service-v3/server-on-http/main.go type HelloService (line 10) | type HelloService struct method Hello (line 12) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 17) | func main() { FILE: examples/ch4.1/hello-service-v3/server/main.go type HelloService (line 12) | type HelloService struct method Hello (line 14) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 21) | func main() { FILE: examples/ch4.2/hello-server/main.go type HelloService (line 11) | type HelloService struct method Hello (line 13) | func (p *HelloService) Hello(request pb.String, reply *pb.String) error { function main (line 18) | func main() { FILE: examples/ch4.2/hello.pb/hello.pb.go constant _ (line 19) | _ = proto.ProtoPackageIsVersion2 type String (line 21) | type String struct method Reset (line 28) | func (m *String) Reset() { *m = String{} } method String (line 29) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 30) | func (*String) ProtoMessage() {} method Descriptor (line 31) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 34) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 37) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 40) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 43) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 46) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 52) | func (m *String) GetValue() string { function init (line 59) | func init() { function init (line 63) | func init() { proto.RegisterFile("hello.proto", fileDescriptor_hello_d23... FILE: examples/ch4.2/protoc-gen-go-netrpc/main.go function main (line 59) | func main() { FILE: examples/ch4.2/protoc-gen-go-netrpc/netprpc.go function init (line 16) | func init() { type netrpcPlugin (line 20) | type netrpcPlugin struct method Name (line 22) | func (p *netrpcPlugin) Name() string { return "netrpc" } method Init (line 23) | func (p *netrpcPlugin) Init(g *generator.Generator) { p.Generator = g } method GenerateImports (line 25) | func (p *netrpcPlugin) GenerateImports(file *generator.FileDescriptor) { method Generate (line 31) | func (p *netrpcPlugin) Generate(file *generator.FileDescriptor) { method genImportCode (line 48) | func (p *netrpcPlugin) genImportCode(file *generator.FileDescriptor) { method genServiceCode (line 52) | func (p *netrpcPlugin) genServiceCode(svc *descriptor.ServiceDescripto... method buildServiceSpec (line 65) | func (p *netrpcPlugin) buildServiceSpec(svc *descriptor.ServiceDescrip... type ServiceSpec (line 37) | type ServiceSpec struct type ServiceMethodSpec (line 42) | type ServiceMethodSpec struct constant tmplService (line 81) | tmplService = ` FILE: examples/ch4.3/rpc-auth/client/main.go function main (line 9) | func main() { FILE: examples/ch4.3/rpc-auth/main.go function main (line 3) | func main() { FILE: examples/ch4.3/rpc-auth/server/main.go type HelloService (line 10) | type HelloService struct method Login (line 21) | func (p *HelloService) Login(request string, reply *string) error { method Hello (line 31) | func (p *HelloService) Hello(request string, reply *string) error { function ServeHelloService (line 15) | func ServeHelloService(conn net.Conn) { function main (line 39) | func main() { FILE: examples/ch4.3/rpc-context/client/main.go function main (line 9) | func main() { FILE: examples/ch4.3/rpc-context/server/main.go type HelloService (line 9) | type HelloService struct method Hello (line 19) | func (p *HelloService) Hello(request string, reply *string) error { function ServeHelloService (line 13) | func ServeHelloService(conn net.Conn) { function main (line 24) | func main() { FILE: examples/ch4.3/rpc-reverse/client/main.go function main (line 10) | func main() { FILE: examples/ch4.3/rpc-reverse/server/main.go type HelloService (line 9) | type HelloService struct method Hello (line 11) | func (p *HelloService) Hello(request string, reply *string) error { function main (line 16) | func main() { FILE: examples/ch4.4/1/client/main.go function main (line 13) | func main() { FILE: examples/ch4.4/1/helloservice/hello.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type String (line 26) | type String struct method Reset (line 33) | func (m *String) Reset() { *m = String{} } method String (line 34) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 35) | func (*String) ProtoMessage() {} method Descriptor (line 36) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 45) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 57) | func (m *String) GetValue() string { function init (line 64) | func init() { constant _ (line 74) | _ = grpc.SupportPackageIsVersion4 type HelloServiceClient (line 79) | type HelloServiceClient interface type helloServiceClient (line 83) | type helloServiceClient struct method Hello (line 91) | func (c *helloServiceClient) Hello(ctx context.Context, in *String, op... function NewHelloServiceClient (line 87) | func NewHelloServiceClient(cc *grpc.ClientConn) HelloServiceClient { type HelloServiceServer (line 101) | type HelloServiceServer interface function RegisterHelloServiceServer (line 105) | func RegisterHelloServiceServer(s *grpc.Server, srv HelloServiceServer) { function _HelloService_Hello_Handler (line 109) | func _HelloService_Hello_Handler(srv interface{}, ctx context.Context, d... function init (line 140) | func init() { proto.RegisterFile("hello.proto", fileDescriptor_hello_c1f... FILE: examples/ch4.4/1/server/main.go type HelloServiceImpl (line 13) | type HelloServiceImpl struct method Hello (line 15) | func (p *HelloServiceImpl) Hello( function main (line 22) | func main() { FILE: examples/ch4.4/2/HelloService/hello.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type String (line 26) | type String struct method Reset (line 33) | func (m *String) Reset() { *m = String{} } method String (line 34) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 35) | func (*String) ProtoMessage() {} method Descriptor (line 36) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 45) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 57) | func (m *String) GetValue() string { function init (line 64) | func init() { constant _ (line 74) | _ = grpc.SupportPackageIsVersion4 type HelloServiceClient (line 79) | type HelloServiceClient interface type helloServiceClient (line 84) | type helloServiceClient struct method Hello (line 92) | func (c *helloServiceClient) Hello(ctx context.Context, in *String, op... method Channel (line 101) | func (c *helloServiceClient) Channel(ctx context.Context, opts ...grpc... function NewHelloServiceClient (line 88) | func NewHelloServiceClient(cc *grpc.ClientConn) HelloServiceClient { type HelloService_ChannelClient (line 110) | type HelloService_ChannelClient interface type helloServiceChannelClient (line 116) | type helloServiceChannelClient struct method Send (line 120) | func (x *helloServiceChannelClient) Send(m *String) error { method Recv (line 124) | func (x *helloServiceChannelClient) Recv() (*String, error) { type HelloServiceServer (line 133) | type HelloServiceServer interface function RegisterHelloServiceServer (line 138) | func RegisterHelloServiceServer(s *grpc.Server, srv HelloServiceServer) { function _HelloService_Hello_Handler (line 142) | func _HelloService_Hello_Handler(srv interface{}, ctx context.Context, d... function _HelloService_Channel_Handler (line 160) | func _HelloService_Channel_Handler(srv interface{}, stream grpc.ServerSt... type HelloService_ChannelServer (line 164) | type HelloService_ChannelServer interface type helloServiceChannelServer (line 170) | type helloServiceChannelServer struct method Send (line 174) | func (x *helloServiceChannelServer) Send(m *String) error { method Recv (line 178) | func (x *helloServiceChannelServer) Recv() (*String, error) { function init (line 206) | func init() { proto.RegisterFile("hello.proto", fileDescriptor_hello_89b... FILE: examples/ch4.4/2/client/main.go function main (line 15) | func main() { FILE: examples/ch4.4/2/server/main.go type HelloServiceImpl (line 14) | type HelloServiceImpl struct method Hello (line 16) | func (p *HelloServiceImpl) Hello( method Channel (line 24) | func (p *HelloServiceImpl) Channel(stream hs.HelloService_ChannelServe... function main (line 43) | func main() { FILE: examples/ch4.4/3/clientpub/main.go function main (line 12) | func main() { FILE: examples/ch4.4/3/clientsub/main.go function main (line 14) | func main() { FILE: examples/ch4.4/3/pubsubservice/pubsubservice.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type String (line 26) | type String struct method Reset (line 33) | func (m *String) Reset() { *m = String{} } method String (line 34) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 35) | func (*String) ProtoMessage() {} method Descriptor (line 36) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 45) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 57) | func (m *String) GetValue() string { function init (line 64) | func init() { constant _ (line 74) | _ = grpc.SupportPackageIsVersion4 type PubsubServiceClient (line 79) | type PubsubServiceClient interface type pubsubServiceClient (line 84) | type pubsubServiceClient struct method Publish (line 92) | func (c *pubsubServiceClient) Publish(ctx context.Context, in *String,... method Subscribe (line 101) | func (c *pubsubServiceClient) Subscribe(ctx context.Context, in *Strin... function NewPubsubServiceClient (line 88) | func NewPubsubServiceClient(cc *grpc.ClientConn) PubsubServiceClient { type PubsubService_SubscribeClient (line 116) | type PubsubService_SubscribeClient interface type pubsubServiceSubscribeClient (line 121) | type pubsubServiceSubscribeClient struct method Recv (line 125) | func (x *pubsubServiceSubscribeClient) Recv() (*String, error) { type PubsubServiceServer (line 134) | type PubsubServiceServer interface function RegisterPubsubServiceServer (line 139) | func RegisterPubsubServiceServer(s *grpc.Server, srv PubsubServiceServer) { function _PubsubService_Publish_Handler (line 143) | func _PubsubService_Publish_Handler(srv interface{}, ctx context.Context... function _PubsubService_Subscribe_Handler (line 161) | func _PubsubService_Subscribe_Handler(srv interface{}, stream grpc.Serve... type PubsubService_SubscribeServer (line 169) | type PubsubService_SubscribeServer interface type pubsubServiceSubscribeServer (line 174) | type pubsubServiceSubscribeServer struct method Send (line 178) | func (x *pubsubServiceSubscribeServer) Send(m *String) error { function init (line 201) | func init() { proto.RegisterFile("pubsubservice.proto", fileDescriptor_p... FILE: examples/ch4.4/3/server/main.go type PubsubService (line 16) | type PubsubService struct method Publish (line 26) | func (p *PubsubService) Publish( method Subscribe (line 36) | func (p *PubsubService) Subscribe( function NewPubsubService (line 20) | func NewPubsubService() *PubsubService { function main (line 60) | func main() { FILE: examples/ch4.4/basic/client/hello.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type String (line 26) | type String struct method Reset (line 33) | func (m *String) Reset() { *m = String{} } method String (line 34) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 35) | func (*String) ProtoMessage() {} method Descriptor (line 36) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 45) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 57) | func (m *String) GetValue() string { function init (line 64) | func init() { constant _ (line 74) | _ = grpc.SupportPackageIsVersion4 type HelloServiceClient (line 79) | type HelloServiceClient interface type helloServiceClient (line 84) | type helloServiceClient struct method Hello (line 92) | func (c *helloServiceClient) Hello(ctx context.Context, in *String, op... method Channel (line 101) | func (c *helloServiceClient) Channel(ctx context.Context, opts ...grpc... function NewHelloServiceClient (line 88) | func NewHelloServiceClient(cc *grpc.ClientConn) HelloServiceClient { type HelloService_ChannelClient (line 110) | type HelloService_ChannelClient interface type helloServiceChannelClient (line 116) | type helloServiceChannelClient struct method Send (line 120) | func (x *helloServiceChannelClient) Send(m *String) error { method Recv (line 124) | func (x *helloServiceChannelClient) Recv() (*String, error) { type HelloServiceServer (line 133) | type HelloServiceServer interface function RegisterHelloServiceServer (line 138) | func RegisterHelloServiceServer(s *grpc.Server, srv HelloServiceServer) { function _HelloService_Hello_Handler (line 142) | func _HelloService_Hello_Handler(srv interface{}, ctx context.Context, d... function _HelloService_Channel_Handler (line 160) | func _HelloService_Channel_Handler(srv interface{}, stream grpc.ServerSt... type HelloService_ChannelServer (line 164) | type HelloService_ChannelServer interface type helloServiceChannelServer (line 170) | type helloServiceChannelServer struct method Send (line 174) | func (x *helloServiceChannelServer) Send(m *String) error { method Recv (line 178) | func (x *helloServiceChannelServer) Recv() (*String, error) { function init (line 206) | func init() { proto.RegisterFile("hello.proto", fileDescriptor_hello_890... FILE: examples/ch4.4/basic/client/main.go type HelloServiceImpl (line 14) | type HelloServiceImpl struct method Hello (line 16) | func (p *HelloServiceImpl) Hello(ctx context.Context, args *String) (*... method Channel (line 21) | func (p *HelloServiceImpl) Channel(stream HelloService_ChannelServer) ... function main (line 41) | func main() { function startGrpcServer (line 46) | func startGrpcServer() { function doClientWork (line 58) | func doClientWork() { FILE: examples/ch4.4/grpc-pubsub/clientPub/clientPub.go function main (line 12) | func main() { FILE: examples/ch4.4/grpc-pubsub/clientSub/clientSub.go function main (line 14) | func main() { FILE: examples/ch4.4/grpc-pubsub/pubsubservice/pubsubservice.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type String (line 26) | type String struct method Reset (line 33) | func (m *String) Reset() { *m = String{} } method String (line 34) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 35) | func (*String) ProtoMessage() {} method Descriptor (line 36) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 45) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 57) | func (m *String) GetValue() string { function init (line 64) | func init() { constant _ (line 74) | _ = grpc.SupportPackageIsVersion4 type PubsubServiceClient (line 79) | type PubsubServiceClient interface type pubsubServiceClient (line 84) | type pubsubServiceClient struct method Publish (line 92) | func (c *pubsubServiceClient) Publish(ctx context.Context, in *String,... method Subscribe (line 101) | func (c *pubsubServiceClient) Subscribe(ctx context.Context, in *Strin... function NewPubsubServiceClient (line 88) | func NewPubsubServiceClient(cc *grpc.ClientConn) PubsubServiceClient { type PubsubService_SubscribeClient (line 116) | type PubsubService_SubscribeClient interface type pubsubServiceSubscribeClient (line 121) | type pubsubServiceSubscribeClient struct method Recv (line 125) | func (x *pubsubServiceSubscribeClient) Recv() (*String, error) { type PubsubServiceServer (line 134) | type PubsubServiceServer interface function RegisterPubsubServiceServer (line 139) | func RegisterPubsubServiceServer(s *grpc.Server, srv PubsubServiceServer) { function _PubsubService_Publish_Handler (line 143) | func _PubsubService_Publish_Handler(srv interface{}, ctx context.Context... function _PubsubService_Subscribe_Handler (line 161) | func _PubsubService_Subscribe_Handler(srv interface{}, stream grpc.Serve... type PubsubService_SubscribeServer (line 169) | type PubsubService_SubscribeServer interface type pubsubServiceSubscribeServer (line 174) | type pubsubServiceSubscribeServer struct method Send (line 178) | func (x *pubsubServiceSubscribeServer) Send(m *String) error { function init (line 201) | func init() { proto.RegisterFile("pubsubservice.proto", fileDescriptor_p... FILE: examples/ch4.4/grpc-pubsub/server/server.go type PubsubService (line 16) | type PubsubService struct method Publish (line 26) | func (p *PubsubService) Publish( method Subscribe (line 36) | func (p *PubsubService) Subscribe( function NewPubsubService (line 20) | func NewPubsubService() *PubsubService { function main (line 60) | func main() { FILE: examples/ch4.5/on-web/helloworld.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type HelloRequest (line 26) | type HelloRequest struct method Reset (line 33) | func (m *HelloRequest) Reset() { *m = HelloRequest{} } method String (line 34) | func (m *HelloRequest) String() string { return proto.CompactTextStrin... method ProtoMessage (line 35) | func (*HelloRequest) ProtoMessage() {} method Descriptor (line 36) | func (*HelloRequest) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *HelloRequest) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]by... method XXX_Merge (line 45) | func (dst *HelloRequest) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *HelloRequest) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *HelloRequest) XXX_DiscardUnknown() { method GetName (line 57) | func (m *HelloRequest) GetName() string { type HelloReply (line 64) | type HelloReply struct method Reset (line 71) | func (m *HelloReply) Reset() { *m = HelloReply{} } method String (line 72) | func (m *HelloReply) String() string { return proto.CompactTextString(... method ProtoMessage (line 73) | func (*HelloReply) ProtoMessage() {} method Descriptor (line 74) | func (*HelloReply) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 77) | func (m *HelloReply) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 80) | func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 83) | func (dst *HelloReply) XXX_Merge(src proto.Message) { method XXX_Size (line 86) | func (m *HelloReply) XXX_Size() int { method XXX_DiscardUnknown (line 89) | func (m *HelloReply) XXX_DiscardUnknown() { method GetMessage (line 95) | func (m *HelloReply) GetMessage() string { function init (line 102) | func init() { constant _ (line 113) | _ = grpc.SupportPackageIsVersion4 type GreeterClient (line 118) | type GreeterClient interface type greeterClient (line 122) | type greeterClient struct method SayHello (line 130) | func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest... function NewGreeterClient (line 126) | func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { type GreeterServer (line 140) | type GreeterServer interface function RegisterGreeterServer (line 144) | func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { function _Greeter_SayHello_Handler (line 148) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec... function init (line 179) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.5/on-web/main.go type myGrpcServer (line 17) | type myGrpcServer struct method SayHello (line 19) | func (s *myGrpcServer) SayHello(ctx context.Context, in *HelloRequest)... function main (line 23) | func main() { function startServer (line 30) | func startServer() { function doClientWork (line 56) | func doClientWork() { FILE: examples/ch4.5/panic-and-log/helloworld.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type HelloRequest (line 26) | type HelloRequest struct method Reset (line 33) | func (m *HelloRequest) Reset() { *m = HelloRequest{} } method String (line 34) | func (m *HelloRequest) String() string { return proto.CompactTextStrin... method ProtoMessage (line 35) | func (*HelloRequest) ProtoMessage() {} method Descriptor (line 36) | func (*HelloRequest) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *HelloRequest) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]by... method XXX_Merge (line 45) | func (dst *HelloRequest) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *HelloRequest) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *HelloRequest) XXX_DiscardUnknown() { method GetName (line 57) | func (m *HelloRequest) GetName() string { type HelloReply (line 64) | type HelloReply struct method Reset (line 71) | func (m *HelloReply) Reset() { *m = HelloReply{} } method String (line 72) | func (m *HelloReply) String() string { return proto.CompactTextString(... method ProtoMessage (line 73) | func (*HelloReply) ProtoMessage() {} method Descriptor (line 74) | func (*HelloReply) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 77) | func (m *HelloReply) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 80) | func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 83) | func (dst *HelloReply) XXX_Merge(src proto.Message) { method XXX_Size (line 86) | func (m *HelloReply) XXX_Size() int { method XXX_DiscardUnknown (line 89) | func (m *HelloReply) XXX_DiscardUnknown() { method GetMessage (line 95) | func (m *HelloReply) GetMessage() string { function init (line 102) | func init() { constant _ (line 113) | _ = grpc.SupportPackageIsVersion4 type GreeterClient (line 118) | type GreeterClient interface type greeterClient (line 122) | type greeterClient struct method SayHello (line 130) | func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest... function NewGreeterClient (line 126) | func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { type GreeterServer (line 140) | type GreeterServer interface function RegisterGreeterServer (line 144) | func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { function _Greeter_SayHello_Handler (line 148) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec... function init (line 179) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.5/panic-and-log/main.go type myGrpcServer (line 15) | type myGrpcServer struct method SayHello (line 17) | func (s *myGrpcServer) SayHello(ctx context.Context, in *HelloRequest)... function main (line 22) | func main() { function filter (line 29) | func filter( function startServer (line 47) | func startServer() { function doClientWork (line 61) | func doClientWork() { FILE: examples/ch4.5/tls/helloworld.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type HelloRequest (line 26) | type HelloRequest struct method Reset (line 33) | func (m *HelloRequest) Reset() { *m = HelloRequest{} } method String (line 34) | func (m *HelloRequest) String() string { return proto.CompactTextStrin... method ProtoMessage (line 35) | func (*HelloRequest) ProtoMessage() {} method Descriptor (line 36) | func (*HelloRequest) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *HelloRequest) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]by... method XXX_Merge (line 45) | func (dst *HelloRequest) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *HelloRequest) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *HelloRequest) XXX_DiscardUnknown() { method GetName (line 57) | func (m *HelloRequest) GetName() string { type HelloReply (line 64) | type HelloReply struct method Reset (line 71) | func (m *HelloReply) Reset() { *m = HelloReply{} } method String (line 72) | func (m *HelloReply) String() string { return proto.CompactTextString(... method ProtoMessage (line 73) | func (*HelloReply) ProtoMessage() {} method Descriptor (line 74) | func (*HelloReply) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 77) | func (m *HelloReply) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 80) | func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 83) | func (dst *HelloReply) XXX_Merge(src proto.Message) { method XXX_Size (line 86) | func (m *HelloReply) XXX_Size() int { method XXX_DiscardUnknown (line 89) | func (m *HelloReply) XXX_DiscardUnknown() { method GetMessage (line 95) | func (m *HelloReply) GetMessage() string { function init (line 102) | func init() { constant _ (line 113) | _ = grpc.SupportPackageIsVersion4 type GreeterClient (line 118) | type GreeterClient interface type greeterClient (line 122) | type greeterClient struct method SayHello (line 130) | func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest... function NewGreeterClient (line 126) | func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { type GreeterServer (line 140) | type GreeterServer interface function RegisterGreeterServer (line 144) | func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { function _Greeter_SayHello_Handler (line 148) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec... function init (line 179) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.5/tls/main.go type myGrpcServer (line 30) | type myGrpcServer struct method SayHello (line 32) | func (s *myGrpcServer) SayHello(ctx context.Context, in *HelloRequest)... function main (line 36) | func main() { function startServer (line 43) | func startServer() { function doClientWork (line 80) | func doClientWork() { FILE: examples/ch4.5/tok/helloworld.pb.go constant _ (line 24) | _ = proto.ProtoPackageIsVersion2 type HelloRequest (line 26) | type HelloRequest struct method Reset (line 33) | func (m *HelloRequest) Reset() { *m = HelloRequest{} } method String (line 34) | func (m *HelloRequest) String() string { return proto.CompactTextStrin... method ProtoMessage (line 35) | func (*HelloRequest) ProtoMessage() {} method Descriptor (line 36) | func (*HelloRequest) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 39) | func (m *HelloRequest) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 42) | func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]by... method XXX_Merge (line 45) | func (dst *HelloRequest) XXX_Merge(src proto.Message) { method XXX_Size (line 48) | func (m *HelloRequest) XXX_Size() int { method XXX_DiscardUnknown (line 51) | func (m *HelloRequest) XXX_DiscardUnknown() { method GetName (line 57) | func (m *HelloRequest) GetName() string { type HelloReply (line 64) | type HelloReply struct method Reset (line 71) | func (m *HelloReply) Reset() { *m = HelloReply{} } method String (line 72) | func (m *HelloReply) String() string { return proto.CompactTextString(... method ProtoMessage (line 73) | func (*HelloReply) ProtoMessage() {} method Descriptor (line 74) | func (*HelloReply) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 77) | func (m *HelloReply) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 80) | func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte... method XXX_Merge (line 83) | func (dst *HelloReply) XXX_Merge(src proto.Message) { method XXX_Size (line 86) | func (m *HelloReply) XXX_Size() int { method XXX_DiscardUnknown (line 89) | func (m *HelloReply) XXX_DiscardUnknown() { method GetMessage (line 95) | func (m *HelloReply) GetMessage() string { function init (line 102) | func init() { constant _ (line 113) | _ = grpc.SupportPackageIsVersion4 type GreeterClient (line 118) | type GreeterClient interface type greeterClient (line 122) | type greeterClient struct method SayHello (line 130) | func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest... function NewGreeterClient (line 126) | func NewGreeterClient(cc *grpc.ClientConn) GreeterClient { type GreeterServer (line 140) | type GreeterServer interface function RegisterGreeterServer (line 144) | func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { function _Greeter_SayHello_Handler (line 148) | func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec... function init (line 179) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.5/tok/main.go type myGrpcServer (line 19) | type myGrpcServer struct method SayHello (line 21) | func (s *myGrpcServer) SayHello(ctx context.Context, in *HelloRequest)... type Authentication (line 46) | type Authentication struct method GetRequestMetadata (line 51) | func (a *Authentication) GetRequestMetadata(context.Context, ...string... method RequireTransportSecurity (line 54) | func (a *Authentication) RequireTransportSecurity() bool { function main (line 58) | func main() { function startServer (line 65) | func startServer() { function doClientWork (line 79) | func doClientWork() { FILE: examples/ch4.6/pb2-default-value/helloworld.pb.go constant _ (line 20) | _ = proto.ProtoPackageIsVersion2 type Message (line 22) | type Message struct method Reset (line 30) | func (m *Message) Reset() { *m = Message{} } method String (line 31) | func (m *Message) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 32) | func (*Message) ProtoMessage() {} method Descriptor (line 33) | func (*Message) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 36) | func (m *Message) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 39) | func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, e... method XXX_Merge (line 42) | func (dst *Message) XXX_Merge(src proto.Message) { method XXX_Size (line 45) | func (m *Message) XXX_Size() int { method XXX_DiscardUnknown (line 48) | func (m *Message) XXX_DiscardUnknown() { method GetName (line 54) | func (m *Message) GetName() string { method GetAge (line 61) | func (m *Message) GetAge() int32 { function init (line 86) | func init() { function init (line 92) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.6/rest/helloworld.pb.go constant _ (line 25) | _ = proto.ProtoPackageIsVersion2 type StringMessage (line 27) | type StringMessage struct method Reset (line 34) | func (m *StringMessage) Reset() { *m = StringMessage{} } method String (line 35) | func (m *StringMessage) String() string { return proto.CompactTextStri... method ProtoMessage (line 36) | func (*StringMessage) ProtoMessage() {} method Descriptor (line 37) | func (*StringMessage) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 40) | func (m *StringMessage) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 43) | func (m *StringMessage) XXX_Marshal(b []byte, deterministic bool) ([]b... method XXX_Merge (line 46) | func (dst *StringMessage) XXX_Merge(src proto.Message) { method XXX_Size (line 49) | func (m *StringMessage) XXX_Size() int { method XXX_DiscardUnknown (line 52) | func (m *StringMessage) XXX_DiscardUnknown() { method GetValue (line 58) | func (m *StringMessage) GetValue() string { function init (line 65) | func init() { constant _ (line 75) | _ = grpc.SupportPackageIsVersion4 type RestServiceClient (line 80) | type RestServiceClient interface type restServiceClient (line 85) | type restServiceClient struct method Get (line 93) | func (c *restServiceClient) Get(ctx context.Context, in *StringMessage... method Post (line 102) | func (c *restServiceClient) Post(ctx context.Context, in *StringMessag... function NewRestServiceClient (line 89) | func NewRestServiceClient(cc *grpc.ClientConn) RestServiceClient { type RestServiceServer (line 112) | type RestServiceServer interface function RegisterRestServiceServer (line 117) | func RegisterRestServiceServer(s *grpc.Server, srv RestServiceServer) { function _RestService_Get_Handler (line 121) | func _RestService_Get_Handler(srv interface{}, ctx context.Context, dec ... function _RestService_Post_Handler (line 139) | func _RestService_Post_Handler(srv interface{}, ctx context.Context, dec... function init (line 174) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.6/rest/helloworld.pb.gw.go function request_RestService_Get_0 (line 31) | func request_RestService_Get_0(ctx context.Context, marshaler runtime.Ma... function request_RestService_Post_0 (line 58) | func request_RestService_Post_0(ctx context.Context, marshaler runtime.M... function RegisterRestServiceHandlerFromEndpoint (line 73) | func RegisterRestServiceHandlerFromEndpoint(ctx context.Context, mux *ru... function RegisterRestServiceHandler (line 98) | func RegisterRestServiceHandler(ctx context.Context, mux *runtime.ServeM... function RegisterRestServiceHandlerClient (line 107) | func RegisterRestServiceHandlerClient(ctx context.Context, mux *runtime.... FILE: examples/ch4.6/rest/main.go type myGrpcServer (line 20) | type myGrpcServer struct method Get (line 22) | func (s *myGrpcServer) Get(ctx context.Context, in *StringMessage) (*S... method Post (line 25) | func (s *myGrpcServer) Post(ctx context.Context, in *StringMessage) (*... function run (line 29) | func run() error { function main (line 50) | func main() { function startGrpcServer (line 61) | func startGrpcServer() { FILE: examples/ch4.6/validators/helloworld.pb.go constant _ (line 20) | _ = proto.ProtoPackageIsVersion2 type Message (line 22) | type Message struct method Reset (line 30) | func (m *Message) Reset() { *m = Message{} } method String (line 31) | func (m *Message) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 32) | func (*Message) ProtoMessage() {} method Descriptor (line 33) | func (*Message) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 36) | func (m *Message) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 39) | func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, e... method XXX_Merge (line 42) | func (dst *Message) XXX_Merge(src proto.Message) { method XXX_Size (line 45) | func (m *Message) XXX_Size() int { method XXX_DiscardUnknown (line 48) | func (m *Message) XXX_DiscardUnknown() { method GetImportantString (line 54) | func (m *Message) GetImportantString() string { method GetAge (line 61) | func (m *Message) GetAge() int32 { function init (line 68) | func init() { function init (line 72) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.6/validators/helloworld.validator.pb.go method Validate (line 29) | func (this *Message) Validate() error { FILE: examples/ch4.7/pb-option/helloworld.pb.go constant _ (line 25) | _ = proto.ProtoPackageIsVersion2 type Message (line 27) | type Message struct method Reset (line 34) | func (m *Message) Reset() { *m = Message{} } method String (line 35) | func (m *Message) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 36) | func (*Message) ProtoMessage() {} method Descriptor (line 37) | func (*Message) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 40) | func (m *Message) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 43) | func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, e... method XXX_Merge (line 46) | func (dst *Message) XXX_Merge(src proto.Message) { method XXX_Size (line 49) | func (m *Message) XXX_Size() int { method XXX_DiscardUnknown (line 52) | func (m *Message) XXX_DiscardUnknown() { method GetName (line 58) | func (m *Message) GetName() string { type String (line 65) | type String struct method Reset (line 72) | func (m *String) Reset() { *m = String{} } method String (line 73) | func (m *String) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 74) | func (*String) ProtoMessage() {} method Descriptor (line 75) | func (*String) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 78) | func (m *String) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 81) | func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, er... method XXX_Merge (line 84) | func (dst *String) XXX_Merge(src proto.Message) { method XXX_Size (line 87) | func (m *String) XXX_Size() int { method XXX_DiscardUnknown (line 90) | func (m *String) XXX_DiscardUnknown() { method GetValue (line 96) | func (m *String) GetValue() string { function init (line 148) | func init() { constant _ (line 164) | _ = grpc.SupportPackageIsVersion4 type HelloServiceClient (line 169) | type HelloServiceClient interface type helloServiceClient (line 173) | type helloServiceClient struct method Hello (line 181) | func (c *helloServiceClient) Hello(ctx context.Context, in *String, op... function NewHelloServiceClient (line 177) | func NewHelloServiceClient(cc *grpc.ClientConn) HelloServiceClient { type HelloServiceServer (line 191) | type HelloServiceServer interface function RegisterHelloServiceServer (line 195) | func RegisterHelloServiceServer(s *grpc.Server, srv HelloServiceServer) { function _HelloService_Hello_Handler (line 199) | func _HelloService_Hello_Handler(srv interface{}, ctx context.Context, d... function init (line 230) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: examples/ch4.7/pb-option/main/helloworld.pb.go constant _ (line 20) | _ = proto.ProtoPackageIsVersion2 type Message0 (line 22) | type Message0 struct method Reset (line 30) | func (m *Message0) Reset() { *m = Message0{} } method String (line 31) | func (m *Message0) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 32) | func (*Message0) ProtoMessage() {} method Descriptor (line 33) | func (*Message0) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 36) | func (m *Message0) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 39) | func (m *Message0) XXX_Marshal(b []byte, deterministic bool) ([]byte, ... method XXX_Merge (line 42) | func (dst *Message0) XXX_Merge(src proto.Message) { method XXX_Size (line 45) | func (m *Message0) XXX_Size() int { method XXX_DiscardUnknown (line 48) | func (m *Message0) XXX_DiscardUnknown() { method GetName (line 57) | func (m *Message0) GetName() string { method GetAge (line 64) | func (m *Message0) GetAge() int32 { constant Default_Message0_Name (line 54) | Default_Message0_Name string = "gopher" constant Default_Message0_Age (line 55) | Default_Message0_Age int32 = 10 type Message2 (line 71) | type Message2 struct method Reset (line 79) | func (m *Message2) Reset() { *m = Message2{} } method String (line 80) | func (m *Message2) String() string { return proto.CompactTextString(m) } method ProtoMessage (line 81) | func (*Message2) ProtoMessage() {} method Descriptor (line 82) | func (*Message2) Descriptor() ([]byte, []int) { method XXX_Unmarshal (line 85) | func (m *Message2) XXX_Unmarshal(b []byte) error { method XXX_Marshal (line 88) | func (m *Message2) XXX_Marshal(b []byte, deterministic bool) ([]byte, ... method XXX_Merge (line 91) | func (dst *Message2) XXX_Merge(src proto.Message) { method XXX_Size (line 94) | func (m *Message2) XXX_Size() int { method XXX_DiscardUnknown (line 97) | func (m *Message2) XXX_DiscardUnknown() { method GetName (line 103) | func (m *Message2) GetName() string { method GetAge (line 110) | func (m *Message2) GetAge() int32 { function init (line 144) | func init() { function init (line 152) | func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_hell... FILE: gen_contributors.go type User (line 24) | type User struct function main (line 29) | func main() { function genTableHeader (line 48) | func genTableHeader(users []User) string { function genTableHeaderSepLine (line 60) | func genTableHeaderSepLine() string { function genTableElemLines (line 63) | func genTableElemLines(users []User) string {