Faits : A. Par jugement du 30 mai 2018, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._, pour infraction grave à la LStup, à une peine privative de liberté de 18 mois, avec sursis durant cinq ans. Il a renoncé à ordonner son expulsion du territoire suisse. B. Par jugement du 19 octobre 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a partiellement admis l'appel formé par le ministère public contre ce jugement et a réformé celui-ci en ce sens que l'expulsion du territoire suisse de X._ est ordonnée pour une durée de sept ans. Elle a confirmé le jugement pour le surplus. La cour cantonale a retenu les faits suivants. B.a. X._ est né en 1972 au Kenya, pays dont il est ressortissant. Il y a suivi sa scolarité jusqu'à l'âge de 14 ans, puis a entrepris une maturité. Il a ensuite effectué une formation de steward en gastronomie et a travaillé dans un hôtel. En 2004, le prénommé est venu s'installer en Suisse. Il s'est marié en 2004, son épouse étant depuis décédée. En Suisse, il a oeuvré dans la restauration, puis dans une entreprise de déménagement, avant d'obtenir un emploi comme steward aux CFF. X._ est père de deux enfants, nés d'une précédente union, qui vivent en Afrique auprès de leur famille maternelle. Il a toujours des contacts avec eux et leur envoie régulièrement de l'argent. Depuis le 1er octobre 2018, il travaille comme gérant pour un établissement à A._. Son casier judiciaire suisse ne fait état d'aucune inscription. B.b. Le 23 avril 2017, X._ a été contacté par un trafiquant de stupéfiants qui lui a demandé de se rendre à B._ et de transporter de la cocaïne, en contrepartie d'un montant de 1'250 fr., soit 900 fr. à remettre au fournisseur de B._ et 350 fr. pour le transport. Le lendemain, à C._, X._, de retour de B._, a pris en charge le trafiquant précité dans son véhicule et lui a remis 15 "fingers" de cocaïne, soit 170 g bruts dont 118,2 g de cocaïne pure. C. X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 19 octobre 2018, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que son expulsion du territoire suisse n'est pas ordonnée et, subsidiairement, à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.