Implementation:Alibaba MNN FlatBuffers IDL Gen Go
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Serialization, Code_Generation |
| Last Updated | 2026-02-10 12:00 GMT |
Overview
Go code generator backend that produces FlatBuffers accessor structs and builder functions for the Go programming language.
Description
idl_gen_go.cpp implements the Go code generation backend for flatc. It generates Go structs with accessor methods that read directly from the underlying byte buffer, following Go naming conventions and package structure. The generated code depends on the github.com/google/flatbuffers/go runtime package for low-level buffer operations.
Usage
Vendored dependency used internally by MNN for model serialization. Not directly imported by end users.
Code Reference
Source Location
- Repository: Alibaba_MNN
- File:
3rd_party/flatbuffers/src/idl_gen_go.cpp - Lines: 1-880
Signature
namespace flatbuffers {
bool GenerateGo(const Parser &parser,
const std::string &path,
const std::string &file_name);
}
Import
#include "flatbuffers/idl.h"
// Generator invoked internally by flatc
I/O Contract
| Input | Output |
|---|---|
| Parsed Parser object with schema definitions | *.go source files organized by Go package
|
Usage Examples
// Invoked by flatc:
// flatc --go schema.fbs
// Internally:
flatbuffers::Parser parser;
parser.Parse(schema);
flatbuffers::GenerateGo(parser, output_path, file_name);
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment