只学go也是可以的,本人目前是java为主,go为辅,主要是因为我所在的行业java居多(电商,企业级erp等)用go有点难过,大量的数据处理,转换,排序,java的streamApi和lambda比较香,最最关键的是第三方缺少go的sdk,不想自己写。(大数据也是jvm系的额,消息队列等一些中间件也是java的居多)
但我不排斥go,很多网关和基础设施是go的,现在构建一个大中型系统也都有go的身影,越来越离不开go(k8s, docker等)。国内非电商和非企业级应用的用go比较多,比如教育,视频,即时通信,游戏行业等。
一般别人学后端问我学什么语言,我建议是时间多就学java、去中小城市就学java。时间不多或者瞄准了腾讯,字节,在者想从事云计算方面的开发就学go。为什么优先建议学java,虽然java人多,但是高薪也多,就业机会多,初级可能工资不高,但是起码赖好能找到个工作。活着要紧。貌似应届生校招java的比较多,并且校招一些公司不怎么看语言,所以学java能投的机会多。
还有一个学java的原因是,现在很多go高手是从java/c/c++过去的,说明java转go非常容易,个人尝试也是比较容易,反之不是那么容易,并不是因为java难,是java包袱太重,东西多,需要花时间去了解,去打磨。
前面说了直接学go也是可以的,但是不要总盯着语言,不管你怎么写,go的语法写不出花来,真正关注的应该是语言外的东西,学习中最耗时间的也是这部分。网络,多线程,算法,数据结构,计算机基础,还有工作中需要用到的redis,mysql,微服务等这些。大部分面试语言方面除了几个关键点外问的也不多,反而语言之外的东西很多(java除外,java面试问语言能问出翔,非常反感)。
做后端目前来看java/go生态都不错。工作3-5年后一般都不止涉及到一门语言。可以看精力情况再学一门,毕业后精力都用在享受福报了,学习时间就少了,趁着没毕业好好肝一下。