I'm not sure how I feel about the campfest that is BF3 just yet. I'm giving it an honest go, but I want to get some more weapons. What is the best game type to level up in or are they all mostly the same?
The best game modes to level up in would be Conquest and Rush.
The reason these two are the best are because they contain objectives that are worth a lot of points.
The fastest is probably conquest as capturing a point (including neutralizing the point first) will net you 450 points (350 for assisting a capture) and there are many many points to cap per round. In addition, if you kill anyone while inside a flag's area of influence, you'll gain an extra 30 points per kill.
Rush is the second best as you can also get 600 points per objective (100 for arming, 500 for destroying. Only 200 for defusing) played, but they're aren't as many, and it's harder to get defends etc.
I would say go with Conquest. You can get +200 (+150 for assist) for neutralizing a flag, and +250 (+200 for assist) for capping a flag. In addition to the normal fighting points, and squad order points you would get. Over a long game - especially a hotly contested one you can get a good deal of point by going flag to flag.
Conquest will reward you the most XP if you play the objective. If you can handle your gun well, you should try Team Deathmatch. In TDM, all the maps are cut off to a smaller area and every round is under 15 minutes. Also, if you are going for service stars for your gun, TDM is the best option as the matches are oriented on infantry combat. However, since you wish to unlock more guns, that would require you to level up your class. Conquest would be the best for gaining XP for your classes.