学习GO

在学GO之前,在GitHub上见到许多使用GO写的优秀项目
比如caddy,frp等

通过GO写出来的程序,可以直接编译到其它平台上面,这点给我感觉GO十分强大
至少省去编译链配置,给路由器写个插件什么的,都很方便的!

虽然一直想学GO,但总因为各种原因推迟。
直到社团任务下来,总算有了动力,加上校运会的偷闲,
有了时间学习Go了,也算填坑了吧。

初入Go语言,给我感觉就是C语言语法的减缩版,
自己完全把它当成C语言来对待。但是后面发现,除了语法和C语言相似外,
其功能可比C语言强大许多。

最鲜明的特点就是Go语言支持多个返回值。
多个返回值,让Go的程序看起来很优雅,程序员也需要“优雅”

此外,支持
a,b = b,a

的交换变量值方式,让Go语言看起来更接近自然语言
进一步降低学习成本。而且Go语言虽然支持指针,但不会像C语言指针满天飞。

还有就是switch语句中case不用break结尾,真是方便,因为break语句容易忘记写。
还有就是case匹配也不局限与C语言的值匹配,Go处理的更灵活,更有风度。

然后,就是Go语言的面向对象了。
对于C++我一直觉得很难,因为C++里面面向对象实在有点让人摸不着头脑。
太多东西要学了....

相对的Go抛弃许多面向对象的特性,仅仅使用很少特性就实现面向对象(这点我理解不够)
就是学习成本很低了。啦啦...

网站开发

hello.go

func helloHandler(w http.ResponseWrite,r *http.Request){
  io.WriteString(w,"Hello, world!")
}

func main(){
  http.HandleFunc("/",helloHandler)
  err := http.ListenAndServe(":80",nil)
  if err != nil {
    log.Fatal("ListenAndServe:".err.Error())
  }
}

Go web demo

Go仅用几行代码就实现一个httpServer
用法简单,十分友好

Go end

Last modification:November 22nd, 2019 at 11:42 am
要饭啦~