Hi,
Skins allow you to switch active bones by adding the bones to one or more skins. You can add the bones for each weapon to each skin and you can hide inactive bones in the viewport using the Hide viewport skin bones
option.
Also, skin constraints will help you to switch the character’s pose for each weapon. You can use transform constraint for each skin to make your character hold a weapon to match the gun-mount position.
See the user guide for more information:
Skins - Spine User Guide: Skin bones
Skins - Spine User Guide: Skin constraints
How to use constraints to hold a two-handed weapon is explained in this blog post:
Blog: Holding a two-handed weapon
I hope these will help.