Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Alibaba MNN FlatBuffers IDL Gen Go

From Leeroopedia


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