beego框架源码结构
sszxr:beego sszxr$ tree
.
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── admin.go
├── admin_test.go
├── adminui.go
├── app.go
├── beego.go
├── cache
│ ├── README.md
│ ├── cache.go
│ ├── cache_test.go
│ ├── conv.go
│ ├── conv_test.go
│ ├── file.go
│ ├── memcache
│ │ ├── memcache.go
│ │ └── memcache_test.go
│ ├── memory.go
│ ├── redis
│ │ ├── redis.go
│ │ └── redis_test.go
│ └── ssdb
│ ├── ssdb.go
│ └── ssdb_test.go
├── config
│ ├── config.go
│ ├── config_test.go
│ ├── env
│ │ ├── env.go
│ │ └── env_test.go
│ ├── fake.go
│ ├── ini.go
│ ├── ini_test.go
│ ├── json.go
│ ├── json_test.go
│ ├── xml
│ │ ├── xml.go
│ │ └── xml_test.go
│ └── yaml
│ ├── yaml.go
│ └── yaml_test.go
├── config.go
├── config_test.go
├── context
│ ├── acceptencoder.go
│ ├── acceptencoder_test.go
│ ├── context.go
│ ├── context_test.go
│ ├── input.go
│ ├── input_test.go
│ ├── output.go
│ ├── param
│ │ ├── conv.go
│ │ ├── methodparams.go
│ │ ├── options.go
│ │ ├── parsers.go
│ │ └── parsers_test.go
│ ├── renderer.go
│ └── response.go
├── controller.go
├── controller_test.go
├── doc.go
├── error.go
├── error_test.go
├── filter.go
├── filter_test.go
├── flash.go
├── flash_test.go
├── go.mod
├── go.sum
├── grace
│ ├── conn.go
│ ├── grace.go
│ ├── listener.go
│ └── server.go
├── hooks.go
├── httplib
│ ├── README.md
│ ├── httplib.go
│ └── httplib_test.go
├── log.go
├── logs
│ ├── README.md
│ ├── accesslog.go
│ ├── alils
│ │ ├── alils.go
│ │ ├── config.go
│ │ ├── log.pb.go
│ │ ├── log_config.go
│ │ ├── log_project.go
│ │ ├── log_store.go
│ │ ├── machine_group.go
│ │ ├── request.go
│ │ └── signature.go
│ ├── color.go
│ ├── color_windows.go
│ ├── color_windows_test.go
│ ├── conn.go
│ ├── conn_test.go
│ ├── console.go
│ ├── console_test.go
│ ├── es
│ │ └── es.go
│ ├── file.go
│ ├── file_test.go
│ ├── jianliao.go
│ ├── log.go
│ ├── logger.go
│ ├── logger_test.go
│ ├── multifile.go
│ ├── multifile_test.go
│ ├── slack.go
│ ├── smtp.go
│ └── smtp_test.go
├── migration
│ ├── ddl.go
│ ├── doc.go
│ └── migration.go
├── mime.go
├── namespace.go
├── namespace_test.go
├── orm
│ ├── README.md
│ ├── cmd.go
│ ├── cmd_utils.go
│ ├── db.go
│ ├── db_alias.go
│ ├── db_mysql.go
│ ├── db_oracle.go
│ ├── db_postgres.go
│ ├── db_sqlite.go
│ ├── db_tables.go
│ ├── db_tidb.go
│ ├── db_utils.go
│ ├── models.go
│ ├── models_boot.go
│ ├── models_fields.go
│ ├── models_info_f.go
│ ├── models_info_m.go
│ ├── models_test.go
│ ├── models_utils.go
│ ├── orm.go
│ ├── orm_conds.go
│ ├── orm_log.go
│ ├── orm_object.go
│ ├── orm_querym2m.go
│ ├── orm_queryset.go
│ ├── orm_raw.go
│ ├── orm_test.go
│ ├── qb.go
│ ├── qb_mysql.go
│ ├── qb_tidb.go
│ ├── types.go
│ ├── utils.go
│ └── utils_test.go
├── parser.go
├── plugins
│ ├── apiauth
│ │ ├── apiauth.go
│ │ └── apiauth_test.go
│ ├── auth
│ │ └── basic.go
│ ├── authz
│ │ ├── authz.go
│ │ ├── authz_model.conf
│ │ ├── authz_policy.csv
│ │ └── authz_test.go
│ └── cors
│ ├── cors.go
│ └── cors_test.go
├── policy.go
├── router.go
├── router_test.go
├── session
│ ├── README.md
│ ├── couchbase
│ │ └── sess_couchbase.go
│ ├── ledis
│ │ └── ledis_session.go
│ ├── memcache
│ │ └── sess_memcache.go
│ ├── mysql
│ │ └── sess_mysql.go
│ ├── postgres
│ │ └── sess_postgresql.go
│ ├── redis
│ │ └── sess_redis.go
│ ├── redis_cluster
│ │ └── redis_cluster.go
│ ├── sess_cookie.go
│ ├── sess_cookie_test.go
│ ├── sess_file.go
│ ├── sess_mem.go
│ ├── sess_mem_test.go
│ ├── sess_test.go
│ ├── sess_utils.go
│ ├── session.go
│ └── ssdb
│ └── sess_ssdb.go
├── staticfile.go
├── staticfile_test.go
├── swagger
│ └── swagger.go
├── template.go
├── template_test.go
├── templatefunc.go
├── templatefunc_test.go
├── testing
│ ├── assertions.go
│ └── client.go
├── toolbox
│ ├── healthcheck.go
│ ├── profile.go
│ ├── profile_test.go
│ ├── statistics.go
│ ├── statistics_test.go
│ ├── task.go
│ └── task_test.go
├── tree.go
├── tree_test.go
├── unregroute_test.go
├── utils
│ ├── caller.go
│ ├── caller_test.go
│ ├── captcha
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── captcha.go
│ │ ├── image.go
│ │ ├── image_test.go
│ │ ├── siprng.go
│ │ └── siprng_test.go
│ ├── debug.go
│ ├── debug_test.go
│ ├── file.go
│ ├── file_test.go
│ ├── mail.go
│ ├── mail_test.go
│ ├── pagination
│ │ ├── controller.go
│ │ ├── doc.go
│ │ ├── paginator.go
│ │ └── utils.go
│ ├── rand.go
│ ├── rand_test.go
│ ├── safemap.go
│ ├── safemap_test.go
│ ├── slice.go
│ ├── slice_test.go
│ ├── testdata
│ │ └── grepe.test
│ └── utils.go
├── validation
│ ├── README.md
│ ├── util.go
│ ├── util_test.go
│ ├── validation.go
│ ├── validation_test.go
│ └── validators.go
└── vendor
├── github.com
│ ├── Knetic
│ │ └── govaluate
│ │ ├── CONTRIBUTORS
│ │ ├── EvaluableExpression.go
│ │ ├── EvaluableExpression_sql.go
│ │ ├── ExpressionToken.go
│ │ ├── LICENSE
│ │ ├── MANUAL.md
│ │ ├── OperatorSymbol.go
│ │ ├── README.md
│ │ ├── TokenKind.go
│ │ ├── evaluationStage.go
│ │ ├── expressionFunctions.go
│ │ ├── expressionOutputStream.go
│ │ ├── lexerState.go
│ │ ├── lexerStream.go
│ │ ├── parameters.go
│ │ ├── parsing.go
│ │ ├── sanitizedParameters.go
│ │ ├── stagePlanner.go
│ │ ├── test.sh
│ │ └── tokenStream.go
│ ├── beego
│ │ ├── goyaml2
│ │ │ ├── README.md
│ │ │ ├── conv.go
│ │ │ ├── reader.go
│ │ │ ├── types.go
│ │ │ └── writer.go
│ │ └── x2j
│ │ ├── LICENSE
│ │ ├── README
│ │ ├── atomFeedString.xml
│ │ ├── pathTestString.xml
│ │ ├── reader2j.go
│ │ ├── songTextString.xml
│ │ ├── x2j.go
│ │ ├── x2j_bulk.go
│ │ ├── x2j_test.xml
│ │ ├── x2j_valuesFrom.go
│ │ ├── x2m_bulk.go
│ │ └── x2m_bulk.xml
│ ├── belogik
│ │ └── goes
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README
│ │ ├── TODO
│ │ ├── dependencies.txt
│ │ ├── goes.go
│ │ └── structs.go
│ ├── bradfitz
│ │ └── gomemcache
│ │ ├── LICENSE
│ │ └── memcache
│ │ ├── memcache.go
│ │ └── selector.go
│ ├── casbin
│ │ └── casbin
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── casbin-logo.png
│ │ ├── config
│ │ │ └── config.go
│ │ ├── effect
│ │ │ ├── default_effector.go
│ │ │ └── effector.go
│ │ ├── enforcer.go
│ │ ├── enforcer_cached.go
│ │ ├── enforcer_safe.go
│ │ ├── enforcer_synced.go
│ │ ├── internal_api.go
│ │ ├── management_api.go
│ │ ├── model
│ │ │ ├── assertion.go
│ │ │ ├── function.go
│ │ │ ├── model.go
│ │ │ └── policy.go
│ │ ├── persist
│ │ │ ├── adapter.go
│ │ │ ├── adapter_filtered.go
│ │ │ ├── file-adapter
│ │ │ │ ├── adapter.go
│ │ │ │ ├── adapter_filtered.go
│ │ │ │ └── adapter_mock.go
│ │ │ └── watcher.go
│ │ ├── rbac
│ │ │ ├── default-role-manager
│ │ │ │ └── role_manager.go
│ │ │ └── role_manager.go
│ │ ├── rbac_api.go
│ │ ├── rbac_api_synced.go
│ │ ├── rbac_api_with_domains.go
│ │ └── util
│ │ ├── builtin_operators.go
│ │ ├── log_util.go
│ │ └── util.go
│ ├── cloudflare
│ │ └── golz4
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── doc.go
│ │ ├── lz4.go
│ │ ├── lz4_hc.go
│ │ └── sample.txt
│ ├── couchbase
│ │ ├── go-couchbase
│ │ │ ├── LICENSE
│ │ │ ├── README.markdown
│ │ │ ├── audit.go
│ │ │ ├── client.go
│ │ │ ├── conn_pool.go
│ │ │ ├── ddocs.go
│ │ │ ├── observe.go
│ │ │ ├── pools.go
│ │ │ ├── streaming.go
│ │ │ ├── tap.go
│ │ │ ├── upr.go
│ │ │ ├── users.go
│ │ │ ├── util.go
│ │ │ ├── vbmap.go
│ │ │ └── views.go
│ │ ├── gomemcached
│ │ │ ├── LICENSE
│ │ │ ├── README.markdown
│ │ │ ├── client
│ │ │ │ ├── mc.go
│ │ │ │ ├── tap_feed.go
│ │ │ │ ├── transport.go
│ │ │ │ └── upr_feed.go
│ │ │ ├── mc_constants.go
│ │ │ ├── mc_req.go
│ │ │ ├── mc_res.go
│ │ │ └── tap.go
│ │ └── goutils
│ │ ├── LICENSE.md
│ │ ├── logging
│ │ │ ├── logger.go
│ │ │ └── logger_golog.go
│ │ └── scramsha
│ │ ├── scramsha.go
│ │ └── scramsha_http.go
│ ├── cupcake
│ │ └── rdb
│ │ ├── LICENCE
│ │ ├── README.md
│ │ ├── crc64
│ │ │ └── crc64.go
│ │ ├── decoder.go
│ │ ├── encoder.go
│ │ ├── nopdecoder
│ │ │ └── nop_decoder.go
│ │ └── slice_buffer.go
│ ├── edsrzf
│ │ └── mmap-go
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── mmap.go
│ │ ├── mmap_unix.go
│ │ ├── mmap_windows.go
│ │ ├── msync_netbsd.go
│ │ └── msync_unix.go
│ ├── go-redis
│ │ └── redis
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── cluster.go
│ │ ├── cluster_commands.go
│ │ ├── command.go
│ │ ├── commands.go
│ │ ├── doc.go
│ │ ├── internal
│ │ │ ├── consistenthash
│ │ │ │ └── consistenthash.go
│ │ │ ├── error.go
│ │ │ ├── hashtag
│ │ │ │ └── hashtag.go
│ │ │ ├── internal.go
│ │ │ ├── log.go
│ │ │ ├── once.go
│ │ │ ├── pool
│ │ │ │ ├── conn.go
│ │ │ │ ├── pool.go
│ │ │ │ ├── pool_single.go
│ │ │ │ └── pool_sticky.go
│ │ │ ├── proto
│ │ │ │ ├── reader.go
│ │ │ │ ├── scan.go
│ │ │ │ └── writer.go
│ │ │ ├── singleflight
│ │ │ │ └── singleflight.go
│ │ │ ├── util
│ │ │ │ ├── safe.go
│ │ │ │ ├── strconv.go
│ │ │ │ └── unsafe.go
│ │ │ └── util.go
│ │ ├── iterator.go
│ │ ├── options.go
│ │ ├── pipeline.go
│ │ ├── pubsub.go
│ │ ├── redis.go
│ │ ├── result.go
│ │ ├── ring.go
│ │ ├── script.go
│ │ ├── sentinel.go
│ │ ├── tx.go
│ │ └── universal.go
│ ├── go-sql-driver
│ │ └── mysql
│ │ ├── AUTHORS
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── appengine.go
│ │ ├── auth.go
│ │ ├── buffer.go
│ │ ├── collations.go
│ │ ├── connection.go
│ │ ├── connection_go18.go
│ │ ├── const.go
│ │ ├── driver.go
│ │ ├── dsn.go
│ │ ├── errors.go
│ │ ├── fields.go
│ │ ├── infile.go
│ │ ├── packets.go
│ │ ├── result.go
│ │ ├── rows.go
│ │ ├── statement.go
│ │ ├── transaction.go
│ │ ├── utils.go
│ │ ├── utils_go17.go
│ │ └── utils_go18.go
│ ├── gogo
│ │ └── protobuf
│ │ ├── AUTHORS
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ └── proto
│ │ ├── Makefile
│ │ ├── clone.go
│ │ ├── custom_gogo.go
│ │ ├── decode.go
│ │ ├── discard.go
│ │ ├── duration.go
│ │ ├── duration_gogo.go
│ │ ├── encode.go
│ │ ├── encode_gogo.go
│ │ ├── equal.go
│ │ ├── extensions.go
│ │ ├── extensions_gogo.go
│ │ ├── lib.go
│ │ ├── lib_gogo.go
│ │ ├── message_set.go
│ │ ├── pointer_reflect.go
│ │ ├── pointer_reflect_gogo.go
│ │ ├── pointer_unsafe.go
│ │ ├── pointer_unsafe_gogo.go
│ │ ├── properties.go
│ │ ├── properties_gogo.go
│ │ ├── skip_gogo.go
│ │ ├── table_marshal.go
│ │ ├── table_marshal_gogo.go
│ │ ├── table_merge.go
│ │ ├── table_unmarshal.go
│ │ ├── table_unmarshal_gogo.go
│ │ ├── text.go
│ │ ├── text_gogo.go
│ │ ├── text_parser.go
│ │ ├── timestamp.go
│ │ └── timestamp_gogo.go
│ ├── golang
│ │ └── snappy
│ │ ├── AUTHORS
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ ├── README
│ │ ├── decode.go
│ │ ├── decode_amd64.go
│ │ ├── decode_amd64.s
│ │ ├── decode_other.go
│ │ ├── encode.go
│ │ ├── encode_amd64.go
│ │ ├── encode_amd64.s
│ │ ├── encode_other.go
│ │ └── snappy.go
│ ├── gomodule
│ │ └── redigo
│ │ ├── LICENSE
│ │ ├── internal
│ │ │ └── commandinfo.go
│ │ └── redis
│ │ ├── conn.go
│ │ ├── doc.go
│ │ ├── go16.go
│ │ ├── go17.go
│ │ ├── go18.go
│ │ ├── log.go
│ │ ├── pool.go
│ │ ├── pool17.go
│ │ ├── pubsub.go
│ │ ├── redis.go
│ │ ├── reply.go
│ │ ├── scan.go
│ │ └── script.go
│ ├── lib
│ │ └── pq
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── TESTS.md
│ │ ├── array.go
│ │ ├── buf.go
│ │ ├── conn.go
│ │ ├── conn_go18.go
│ │ ├── connector.go
│ │ ├── copy.go
│ │ ├── doc.go
│ │ ├── encode.go
│ │ ├── error.go
│ │ ├── go.mod
│ │ ├── notify.go
│ │ ├── oid
│ │ │ ├── doc.go
│ │ │ ├── gen.go
│ │ │ └── types.go
│ │ ├── rows.go
│ │ ├── ssl.go
│ │ ├── ssl_go1.7.go
│ │ ├── ssl_permissions.go
│ │ ├── ssl_renegotiation.go
│ │ ├── ssl_windows.go
│ │ ├── url.go
│ │ ├── user_posix.go
│ │ ├── user_windows.go
│ │ └── uuid.go
│ ├── mattn
│ │ └── go-sqlite3
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── backup.go
│ │ ├── callback.go
│ │ ├── doc.go
│ │ ├── error.go
│ │ ├── sqlite3-binding.c
│ │ ├── sqlite3-binding.h
│ │ ├── sqlite3.go
│ │ ├── sqlite3_context.go
│ │ ├── sqlite3_func_crypt.go
│ │ ├── sqlite3_go18.go
│ │ ├── sqlite3_libsqlite3.go
│ │ ├── sqlite3_load_extension.go
│ │ ├── sqlite3_load_extension_omit.go
│ │ ├── sqlite3_opt_allow_uri_authority.go
│ │ ├── sqlite3_opt_app_armor.go
│ │ ├── sqlite3_opt_foreign_keys.go
│ │ ├── sqlite3_opt_fts5.go
│ │ ├── sqlite3_opt_icu.go
│ │ ├── sqlite3_opt_introspect.go
│ │ ├── sqlite3_opt_json1.go
│ │ ├── sqlite3_opt_secure_delete.go
│ │ ├── sqlite3_opt_secure_delete_fast.go
│ │ ├── sqlite3_opt_stat4.go
│ │ ├── sqlite3_opt_unlock_notify.c
│ │ ├── sqlite3_opt_unlock_notify.go
│ │ ├── sqlite3_opt_userauth.go
│ │ ├── sqlite3_opt_userauth_omit.go
│ │ ├── sqlite3_opt_vacuum_full.go
│ │ ├── sqlite3_opt_vacuum_incr.go
│ │ ├── sqlite3_opt_vtable.go
│ │ ├── sqlite3_other.go
│ │ ├── sqlite3_solaris.go
│ │ ├── sqlite3_trace.go
│ │ ├── sqlite3_type.go
│ │ ├── sqlite3_usleep_windows.go
│ │ ├── sqlite3_windows.go
│ │ ├── sqlite3ext.h
│ │ └── static_mock.go
│ ├── pelletier
│ │ └── go-toml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── benchmark.json
│ │ ├── benchmark.sh
│ │ ├── benchmark.toml
│ │ ├── benchmark.yml
│ │ ├── doc.go
│ │ ├── example-crlf.toml
│ │ ├── example.toml
│ │ ├── fuzz.go
│ │ ├── fuzz.sh
│ │ ├── keysparsing.go
│ │ ├── lexer.go
│ │ ├── marshal.go
│ │ ├── marshal_test.toml
│ │ ├── parser.go
│ │ ├── position.go
│ │ ├── test.sh
│ │ ├── token.go
│ │ ├── toml.go
│ │ ├── tomltree_create.go
│ │ └── tomltree_write.go
│ ├── pkg
│ │ └── errors
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── appveyor.yml
│ │ ├── errors.go
│ │ └── stack.go
│ ├── siddontang
│ │ ├── go
│ │ │ ├── LICENSE
│ │ │ ├── filelock
│ │ │ │ ├── LICENSE
│ │ │ │ ├── file_lock_generic.go
│ │ │ │ ├── file_lock_solaris.go
│ │ │ │ ├── file_lock_unix.go
│ │ │ │ └── file_lock_windows.go
│ │ │ ├── hack
│ │ │ │ └── hack.go
│ │ │ ├── ioutil2
│ │ │ │ ├── ioutil.go
│ │ │ │ └── sectionwriter.go
│ │ │ ├── log
│ │ │ │ ├── doc.go
│ │ │ │ ├── filehandler.go
│ │ │ │ ├── handler.go
│ │ │ │ ├── log.go
│ │ │ │ └── sockethandler.go
│ │ │ ├── num
│ │ │ │ ├── bytes.go
│ │ │ │ ├── cmp.go
│ │ │ │ └── str.go
│ │ │ ├── snappy
│ │ │ │ ├── LICENSE
│ │ │ │ ├── decode.go
│ │ │ │ ├── encode.go
│ │ │ │ └── snappy.go
│ │ │ └── sync2
│ │ │ ├── atomic.go
│ │ │ └── semaphore.go
│ │ ├── ledisdb
│ │ │ ├── LICENSE
│ │ │ ├── config
│ │ │ │ ├── config-docker.toml
│ │ │ │ ├── config.go
│ │ │ │ └── config.toml
│ │ │ ├── ledis
│ │ │ │ ├── batch.go
│ │ │ │ ├── const.go
│ │ │ │ ├── doc.go
│ │ │ │ ├── dump.go
│ │ │ │ ├── event.go
│ │ │ │ ├── ledis.go
│ │ │ │ ├── ledis_db.go
│ │ │ │ ├── migrate.go
│ │ │ │ ├── replication.go
│ │ │ │ ├── scan.go
│ │ │ │ ├── sort.go
│ │ │ │ ├── t_hash.go
│ │ │ │ ├── t_kv.go
│ │ │ │ ├── t_list.go
│ │ │ │ ├── t_set.go
│ │ │ │ ├── t_ttl.go
│ │ │ │ ├── t_zset.go
│ │ │ │ └── util.go
│ │ │ ├── rpl
│ │ │ │ ├── file_io.go
│ │ │ │ ├── file_store.go
│ │ │ │ ├── file_table.go
│ │ │ │ ├── goleveldb_store.go
│ │ │ │ ├── log.go
│ │ │ │ ├── rpl.go
│ │ │ │ └── store.go
│ │ │ └── store
│ │ │ ├── db.go
│ │ │ ├── driver
│ │ │ │ ├── driver.go
│ │ │ │ ├── slice.go
│ │ │ │ └── store.go
│ │ │ ├── goleveldb
│ │ │ │ ├── batch.go
│ │ │ │ ├── const.go
│ │ │ │ ├── db.go
│ │ │ │ ├── iterator.go
│ │ │ │ └── snapshot.go
│ │ │ ├── iterator.go
│ │ │ ├── leveldb
│ │ │ │ ├── batch.go
│ │ │ │ ├── cache.go
│ │ │ │ ├── const.go
│ │ │ │ ├── db.go
│ │ │ │ ├── filterpolicy.go
│ │ │ │ ├── iterator.go
│ │ │ │ ├── leveldb_ext.cc
│ │ │ │ ├── leveldb_ext.h
│ │ │ │ ├── levigo-license
│ │ │ │ ├── options.go
│ │ │ │ ├── slice.go
│ │ │ │ ├── snapshot.go
│ │ │ │ └── util.go
│ │ │ ├── rocksdb
│ │ │ │ ├── batch.go
│ │ │ │ ├── cache.go
│ │ │ │ ├── const.go
│ │ │ │ ├── db.go
│ │ │ │ ├── env.go
│ │ │ │ ├── filterpolicy.go
│ │ │ │ ├── iterator.go
│ │ │ │ ├── options.go
│ │ │ │ ├── rocksdb_ext.cc
│ │ │ │ ├── rocksdb_ext.h
│ │ │ │ ├── slice.go
│ │ │ │ ├── snapshot.go
│ │ │ │ └── util.go
│ │ │ ├── slice.go
│ │ │ ├── snapshot.go
│ │ │ ├── stat.go
│ │ │ ├── store.go
│ │ │ └── writebatch.go
│ │ └── rdb
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── decode.go
│ │ ├── digest.go
│ │ ├── encode.go
│ │ ├── loader.go
│ │ ├── reader.go
│ │ └── wandoujia-license
│ ├── ssdb
│ │ └── gossdb
│ │ ├── LICENSE
│ │ └── ssdb
│ │ └── ssdb.go
│ ├── syndtr
│ │ └── goleveldb
│ │ ├── LICENSE
│ │ └── leveldb
│ │ ├── batch.go
│ │ ├── cache
│ │ │ ├── cache.go
│ │ │ └── lru.go
│ │ ├── comparer
│ │ │ ├── bytes_comparer.go
│ │ │ └── comparer.go
│ │ ├── comparer.go
│ │ ├── db.go
│ │ ├── db_compaction.go
│ │ ├── db_iter.go
│ │ ├── db_snapshot.go
│ │ ├── db_state.go
│ │ ├── db_transaction.go
│ │ ├── db_util.go
│ │ ├── db_write.go
│ │ ├── doc.go
│ │ ├── errors
│ │ │ └── errors.go
│ │ ├── errors.go
│ │ ├── filter
│ │ │ ├── bloom.go
│ │ │ └── filter.go
│ │ ├── filter.go
│ │ ├── iterator
│ │ │ ├── array_iter.go
│ │ │ ├── indexed_iter.go
│ │ │ ├── iter.go
│ │ │ └── merged_iter.go
│ │ ├── journal
│ │ │ └── journal.go
│ │ ├── key.go
│ │ ├── memdb
│ │ │ └── memdb.go
│ │ ├── opt
│ │ │ └── options.go
│ │ ├── options.go
│ │ ├── session.go
│ │ ├── session_compaction.go
│ │ ├── session_record.go
│ │ ├── session_util.go
│ │ ├── storage
│ │ │ ├── file_storage.go
│ │ │ ├── file_storage_nacl.go
│ │ │ ├── file_storage_plan9.go
│ │ │ ├── file_storage_solaris.go
│ │ │ ├── file_storage_unix.go
│ │ │ ├── file_storage_windows.go
│ │ │ ├── mem_storage.go
│ │ │ └── storage.go
│ │ ├── storage.go
│ │ ├── table
│ │ │ ├── reader.go
│ │ │ ├── table.go
│ │ │ └── writer.go
│ │ ├── table.go
│ │ ├── util
│ │ │ ├── buffer.go
│ │ │ ├── buffer_pool.go
│ │ │ ├── crc32.go
│ │ │ ├── hash.go
│ │ │ ├── range.go
│ │ │ └── util.go
│ │ ├── util.go
│ │ └── version.go
│ └── wendal
│ └── errors
│ ├── README.md
│ └── errors.go
├── golang.org
│ └── x
│ ├── crypto
│ │ ├── AUTHORS
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ ├── PATENTS
│ │ ├── acme
│ │ │ ├── acme.go
│ │ │ ├── autocert
│ │ │ │ ├── autocert.go
│ │ │ │ ├── cache.go
│ │ │ │ ├── listener.go
│ │ │ │ └── renewal.go
│ │ │ ├── http.go
│ │ │ ├── jws.go
│ │ │ └── types.go
│ │ └── pbkdf2
│ │ └── pbkdf2.go
│ └── net
│ ├── AUTHORS
│ ├── CONTRIBUTORS
│ ├── LICENSE
│ ├── PATENTS
│ └── context
│ ├── context.go
│ ├── go17.go
│ ├── go19.go
│ ├── pre_go17.go
│ └── pre_go19.go
├── google.golang.org
│ └── appengine
│ ├── LICENSE
│ └── cloudsql
│ ├── cloudsql.go
│ ├── cloudsql_classic.go
│ └── cloudsql_vm.go
├── gopkg.in
│ └── yaml.v2
│ ├── LICENSE
│ ├── LICENSE.libyaml
│ ├── NOTICE
│ ├── README.md
│ ├── apic.go
│ ├── decode.go
│ ├── emitterc.go
│ ├── encode.go
│ ├── go.mod
│ ├── parserc.go
│ ├── readerc.go
│ ├── resolve.go
│ ├── scannerc.go
│ ├── sorter.go
│ ├── writerc.go
│ ├── yaml.go
│ ├── yamlh.go
│ └── yamlprivateh.go
└── modules.txt
156 directories, 775 files
sszxr:beego sszxr$
源码共有156个文件夹,775个文件
sszxr:beego sszxr$ find . -name '*.go' | grep -v ./vendor | wc -l
205
sszxr:beego sszxr$
其中除去vendor
包,共有205个go文件。