golang range over slice pointer