public GoType getSubstitutionType(String typeName) {
		if (typeName.startsWith("*")) {
			return new GoTypeBridge(typeName, getVoidPtrDT(), goBinary);
		}
		else if (typeName.startsWith("[]") || typeName.equals("runtime.slice")) {
			return new GoTypeBridge(typeName, getGenericSliceDT(), goBinary);
		}
		else if (typeName.startsWith("map[")) {
			return mapArgGoType;
		}
		else if (typeName.startsWith("chan ")) {
			return chanArgGoType;
		}
		else if (typeName.startsWith("func(")) {
			DataType closureType = getDefaultClosureType();
			return new GoTypeBridge(typeName, dtm.getPointer(closureType), goBinary);
		}
		else if (typeName.equals("runtime.iface")) {
			return new GoTypeBridge(typeName, getGenericInterfaceDT(), goBinary);
		}
		return null;
	}
Returns the data type that represents a generic golang slice.

@return golang generic slice data type
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoTypeManager.java