go语言可以做什么?入门Go语言
【摘要】 简要概述一下go语言可以做什么,以及他在当前所处的语言大家庭中的地位。和笔者对其理解。
每一门语言配置好环境后的第一件事-----------向世界问候
本篇博客带大家公平的了解一下go语言相较其他语言的优势,以及go语言的一些特色
- 先打印一个hello world感受一下go语言的魅力
package main//每一个go文件都应该属于一个包,同一个包下的各函数、变量可以直接引用(不包只能调用大写字母开头的)
import (//导包
"fmt"//标准的输入输出函数都在这里
"os"
)
//在go语言中一般一行只放一句代码,末尾不用使用分号
func main(){
//直接向终端进行输出
fmt.Println("hello world")
//向指定的输出流进行重定向(os.Stdout代表向终端进行输出,还可以是文件指针,http响应输出流......)
fmt.Fprintln(os.Stdout, "hello world")
}
(1)go语言有以下特点(做出总结)
- 自动垃圾回收(不用再动态的开辟、释放内存了)
- 更丰富的类型(指针、接口、通道、切片+基础类型=十分丰富灵活的编程语言)
- 函数多返回值(支持一次返回多个返回值)
- 错误的处理(这个模块相对来说还比较脆弱)
- 匿名函数与闭包(这点属于go的特色)
- 类型和接口(空接口可以接受任意类型,…interface{}作为形式参数可以传入任意个实际参数)
- 并发编程(并发是go语言的一个强项,因为go使用的是用户线程,相对来说并发需要的资源不多)
- 反射(go语言是静态语言,可以使用反射对程序进行配置,但效率会有所下降)
(2)go语言做web后端相对其他语言的优势及劣势 。
go语言为静态语言,项目经过预处理、编译、汇编、连接成为exe可执行文件
然后经过简单部署,就大工告成。
①相较python这种边编译边执行的语言来说
- go语言执行效率高(运行时执行效率高,但是一般肉眼感觉不出来)
- 语法难易程度不相上下(python语法十分简洁,go语言也不逊色)
- 依据python的简洁语法,其更适合做数据分析、深度学习等类的工作
②相较java这一元老级别语言来说,go语言设计的时候考虑到了高并发
- go语言开启同样并发量使用的资源要比java小的多(根本原因是设计语言使用的机制不同)
- 执行效率虽没有java快,但是仅仅差一丢丢(并发的优势完全可以弥补)
- go web部署服务器极其简单,java web 项目往往需要寄托在tomcat等服务器上
- Go语言原生的http包十分优秀,java有许多成熟的框架
- 总的来说这两个语言效率不相上下,go应该更适合未来的需求。java目前占有更大的市场。
- 两者都适合用来做web后端
③相较于c/c++祖师级别语言而言
- go语言语法简洁度相对c/c++有大大的优化
- go语言的效率当时设计的时候就是奔着赶上c语言去的,虽然没有赶上,但在目前处的高级语言内也算是名列前茅。
- go语言有许多功能丰富的库,使用起来也比较方便。
- 技术ok c/c++无所不能(万岁!!!)
④相较于javascript而言
- 这两个就不进行比较了吧,一个前端语言一个后端语言
- 两者结合天下无敌(应该劝大家的是目前前后端分离,两个语言的工程师都应该写验证或者测试函数,或约定一方进行书写,避免非法分子有可乘之机)
(3)go语言适合做的事
- 理论来说也是无所不能,但是为了节约开发成本总的来说更适合做以下几件事
- go web后端
- 爬虫
- 区块链
- 游戏后端
一块加油一块努力,一起 go go go !!!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)