使用go语言后的感受

  前两天我说过为了学习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虽然简洁,但它并不是一门优秀的编程语言。

 

转载于:https://www.cnblogs.com/jussue/p/4856671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值