下面列出了 Go 源码文件所实现的功能,以及他们主要功能的介绍,在本书正文中对应的(粗略)位置:
boot:
- src/internal/cpu
- src/runtime
- rt0_darwin_amd64.s
- rt0_js_wasm.s
- rt0_linux_amd64.s
- runtime1.go
- os_darwin.go
- os_linux.go
- go_tls.h
sched, runtime sync:
- src/os
- /signal
- src/runtime
- sched
- runtime.go
- runtime2.go
- proc.go
- stack.go
- signal
- os_linux_generic.go
- sigaction.go
- signal_amd64x.go
- signal_darwin.go
- signal_darwin_amd64.go
- signal_linux_amd64.go
- signal_unix.go
- sigqueue.go
- sigtab_linux_generic.go
- sync
- sema.go
- lock_futex.go
- lock_js.go
- lock_sema.go
- rwmutex.go
- sched
allocator:
- src/runtime
- malloc.go
- mcache.go
- mcentral.go
- mprof.go
- mfixalloc.go
- mheap.go
- mmap.go
- msize.go
- mstats.go
- mkduff.go
- duff_amd64.s
- mksizeclasses.go
- sizeclasses.go
- mem_darwin.go
- mem_js.go
- mem_linux.go
- memclr_amd64.s
- memclr_wasm.s
- memmove_amd64.s
- memmove_wasm.s
GC:
- src/runtime
- mgc.go
- mgclarge.go
- mgcmark.go
- mgcsweep.go
- mgcsweepbuf.go
- mgcwork.go
- mbarrier.go
- mwbbuf.go
- mbitmap.go
- lfstack.go
- lfstack_64bit.go
- mfinal.go
race/trace/pprof/msan:
- src/runtime
- profbuf.go
- proflabel.go
- race.go
- race0.go
- race_amd64.s
- trace.go
- traceback.go
- debug.go
- debugcall.go
- msan.go
- msan0.go
- msan_amd64.s
syscall/cgo:
- src/syscall
- src/cmd
- /cgo
- src/runtime
- /cgo
- cgo.go
- cgo_mmap.go
- cgo_sigaction.go
- cgocall.go
- cgocallback.go
- cgocheck.go
- cpuprof.go
- textflag.h
- funcdata.h
- defs_linux_amd64.go
- defs_darwin_amd64.go
- plugin.go
runtime type system / keywords:
- src/reflect
- src/runtime
- type
- type.go
- typekind.go
- float
- softfloat64.go
- float.go
- chan/select
- chan.go
- select.go
- defer/panic/recover
- panic.go
- map
- fastlog2.go
- mkfastlog2table.go
- fastlog2table.go
- alg.go
- map.go
- map_fast32.go
- map_fast64.go
- map_faststr.go
- hash64.go
- heapdump.go
- interface{}
- iface.go
- slice
- slice.go
- string
- string.go
- utf8.go
- type
- src/unsafe
- src/cmd
- /compile
- /internal/obj
- src/errors
- src/fmt.Errorf
- src/sync
- /atomic
- atomic_pointer
- internal/atomic
- internal/sys
- Map
- Once
- Pool
- WaitGroup
- Cond
- Mutex
- Rwmutex
- /atomic
- src/net
- src/time
- src/runtime
- net
- netpoll.go
- netpoll_epoll.go
- netpoll_fake.go
- netpoll_kqueue.go
- netpoll_stub.go
- time
- time.go
- timestub.go
- timestub2.go
- net
- common
- asm.s
- asm_amd64.s
- asm_wasm.s
- stub
- extern.go
- symtab.go
- cpuflags_amd64.go
- cputicks.go
- env_posix.go
- error.go
- print.go
- write_err.go
- relax_stub.go
- stubs.go
- stubs2.go
- stubs3.go
- stubs_linux.go
- stubs_nonlinux.go
- stubs_x86.go
- sys_darwin.go
- sys_darwin_amd64.s
- sys_linux_amd64.s
- sys_wasm.go
- sys_wasm.s
- sys_x86.go
- unaligned1.go
Go under the hood | CC-BY-NC-ND 4.0 & MIT © changkun