Abusive boyfriend?

Br

I’ve been with this dude for about 10-11 months. He’s been my best friend and my lover at the same time. I love him more than anything in this world, I have since I first met him.

The problem is; when he gets angry, he calls me all these nasty names. Mind you, he’s 20 years old. He calls me a whore, slut, bitch, cunt..etc. tells me to go die and that I’m worth nothing to him and that he hates me. Then he will come back and say he didn’t mean those things, it was out of anger, apologizing for it all. All my friends say to leave him and I don’t know.. I just can’t. He’s my best friend and I love him more than anything. I’m stuck on what to do.