Should I create Mysql user `user@localhost` or `user@`?

My server is centos 7.4, mysql 5.5.
In my.cnf,I set skip-name-resolve = 0,which means mysql will use user@ even I run user@localhost.
Then, when I create a new user, which one is better, user@localhost or user@
Also, you can find root@localhost,root@,root@::1 in a newly installed mysql.Actually there should be only one root user.Which one should be use?