Add go flatbuffer rules

Change-Id: Ia80716772d09ccef6c4043b6e8ccb9321ed2f1e7
Signed-off-by: Alex Perry <alex.perry96@gmail.com>
diff --git a/build_tests/BUILD b/build_tests/BUILD
index 6a81509..8dd0637 100644
--- a/build_tests/BUILD
+++ b/build_tests/BUILD
@@ -1,5 +1,5 @@
 load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_py_library")
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_go_library", "flatbuffer_py_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 load("//tools/build_rules:apache.bzl", "apache_wrapper")
 load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")
@@ -77,6 +77,14 @@
     visibility = ["//visibility:public"],
 )
 
+flatbuffer_go_library(
+    name = "test_go_fbs",
+    srcs = ["test.fbs"],
+    importpath = "github.com/frc971/971-Robot-Code/build_tests/fbs",
+    target_compatible_with = ["@platforms//cpu:x86_64"],
+    visibility = ["//visibility:public"],
+)
+
 py_test(
     name = "python_fbs",
     srcs = ["python_fbs.py"],
diff --git a/build_tests/go_flatbuffer/BUILD b/build_tests/go_flatbuffer/BUILD
new file mode 100644
index 0000000..d472a6f
--- /dev/null
+++ b/build_tests/go_flatbuffer/BUILD
@@ -0,0 +1,20 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+    name = "go_flatbuffer_lib",
+    srcs = ["go_fbs.go"],
+    importpath = "github.com/frc971/971-Robot-Code/build_tests/go_flatbuffer",
+    target_compatible_with = ["@platforms//cpu:x86_64"],
+    visibility = ["//visibility:private"],
+    deps = [
+        "//build_tests:test_go_fbs",
+        "@com_github_google_flatbuffers//go:go_default_library",
+    ],
+)
+
+go_binary(
+    name = "go_flatbuffer",
+    embed = [":go_flatbuffer_lib"],
+    target_compatible_with = ["@platforms//cpu:x86_64"],
+    visibility = ["//visibility:public"],
+)
diff --git a/build_tests/go_flatbuffer/go_fbs.go b/build_tests/go_flatbuffer/go_fbs.go
new file mode 100644
index 0000000..2e936c1
--- /dev/null
+++ b/build_tests/go_flatbuffer/go_fbs.go
@@ -0,0 +1,13 @@
+package main
+
+import (
+	build_tests "github.com/frc971/971-Robot-Code/build_tests/fbs"
+	flatbuffers "github.com/google/flatbuffers/go"
+)
+
+func main() {
+	builder := flatbuffers.NewBuilder(1024)
+	build_tests.FooStart(builder)
+	build_tests.FooAddValue(builder, 3)
+	build_tests.FooEnd(builder)
+}