Getting error CS0019 and CS1922 when using Vector2 apposed to Vector3

Hi guys I am relatively new to Unity and coding, I’ve been following through some of the tutorials that Unity provides and I’ve now tried to make my own game from scratch but I have come across a problem. The problem is that when I try to use a piece of code from the Space Shooter project which is in Unity3D and im using it in Unity2D I am getting an error. The piece of code I am using from the Space Shooter is as follows:

void FixedUpdate ()
            float moveHorizontal = Input.GetAxis ("Horizontal");
            float moveVertical = Input.GetAxis ("Vertical");
            Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
            rigidbody.velocity = movement * speed;
            rigidbody.position = new Vector3 
                Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax), 
                Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)

Here is the code im using for the 2D game that I am making:

void FixedUpdate () {

		float moveHorizontal = Input.GetAxis ("Horizontal");

		Vector2 movement = new Vector2 (moveHorizontal, 0.0f);
		rigidbody2D.velocity = movement + speed;

		rigidbody2D.position = new Vector2
			Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
			Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)

In my 2D game the player isnt moving vertical therefore removing the need for moveVertical, the problem I am getting is that in unity I am getting an error called CS0019 for line 20 and an error CS1922 for line 23.

The CS0019 error says the following in unity:

 Assets/Scripts/PlayerController.cs(20,40): error CS0019: Operator `+' cannot be applied to operands of type `UnityEngine.Vector2' and `float' 

The CS1922 error is saying this:

Assets/Scripts/PlayerController.cs(23,17): error CS1922: A field or property `UnityEngine.Vector2' cannot be initialized with a collection object initializer because type `UnityEngine.Vector2' does not implement `System.Collections.IEnumerable' interface 

I have checked in the script reference for the first error and I thought it might have been that I couldn’t use .velocity for a rigidbody2D but you can, So I am really unsure why I am getting this error as I thought it should be able to translate over to rigidbody2D from rigidbody2D relatively easily as they both share similar variables. Sorry for being an utter code noob and its probably a very simple mistake to fix but im only posting on here as a last resort as im completely stuck! Any help would be greatly appreciated, Lewis.

Line 6: * not +

Line 8: not new Vector2 but new Vector3, change {} to ()