• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

使用go语言后的感受

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  前两天我说过为了学习go语言去学习了一遍python,当我完成了python的学习后,昨天中午就去学习了go语言。以下简称之为golang。

  我用的操作系统是windows xp,golang对xp还提供支持,但是我在学习python3时,3.5版本的python已经不给xp提供支持了。我在http://gobyexample.com学习了golang的相关代码,我不知道里面的语法全不全。其次,golang的本质是一种静态类型的语言,但它在编写时又可以写成动态类型语言的声明,这可以说是一次静态语言的革命。

  下面我来谈谈我对golang的感受。

  第一,我感觉golang的语法确实像python,使用起来令人感觉舒适,方便快捷。例如:

// 声明 --类python
a := 10    // a在编译时刻会被自动转换成int类型

// 语法  -- 类C
for i := 0; i < 10; i++ {
    // do something here
}

  第二,golang的自由度高、代码简洁,例如:

// 声明一个int类型的变量有3种方法
var v = 10
var v int = 10
v := 10

// 声明一个常量则有2种方法
const v = 10
const v int = 10

// 循环的用法 -- for就行了
for True {
    // 类似C中的while循环
}
for {
    // 上例的 for True缩写版
}
for i := 0; i < 10; i++ {
    // 类似C中的for循环
}

 

  第三,我认为golang语言的目的性不强,严格的说是一个令人感到乱糟糟的语言,看下列代码:

 

// golang循环示例
for i := 0; i < 10; i++ {
}

/*
 * 初看到上面的代码,令我们觉得没有什么不对的,但是学习之后,才会知道端倪。
 * 问题1、其中的 i++不能改成++i,golang中不支持++i这样的操作符
 * 问题2、大分号不能另起一行
 * 问题3、若循环中只有一行代码,"{" 、"}"不能不写
 */

// golang简单示 do while循环示例 -- 用for 实现
var i = 0
for {
    // do something there
    if i >= 10 {
        break
    }
    i++
}

/*
 * 与上面的说法一样,不学时不知道水有多深
 * 问题1、支持i++操作符但是不支持写成这样 if i++ > 10
 * 问题2、不如do while循环简洁、好看
 */

  以上的例子说明了golang又还是一个自由的语言!不仅如此,golang还不能容纳多余的语句:

pacakge main

import "fmt"
import "math"

func main() {
    var i int = 9
    var j int = 10
    fmt.Println(i)
}

/*
*  编译时报错:imported and not used: "j"
*  imported and not used: "math"
*  除此之外,golang还要变态地与packge xxx开头,而且main()函数中不能放置任一个参数和不能声明任何返回值和返回任何的值。
*/

  golang最终给我的感受是一团糟,至此,我认为golang虽然简洁,但它并不是一门优秀的编程语言。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【go语言基础】go语言的优点和缺点发布时间:2022-07-10
下一篇:
go语言有哪些劣势?发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap