go学习笔记(1)——感悟

    在接触到go语言之前,我本人一直学习的是C/C++语言,本想着凭借原有的语言功底能够很快的去自学任何一门新的编程语言,只不过渣小白毕竟还是渣,go语言的更新对于其他语言的一些继承和更新也是令人上手起来相当难受,说一下我在使用这门语言时一些让我相当难受的地方:

1.类型转换什么鬼?

    什么是类型转换,就是从一个类型转化成为另一种类型,不过之所以首先要提到这个的原因是,类型转化控制的似乎也有点太过于严格,动不动就有一条红色的波浪线出现在所写代码之下,然后就提示"Cannot use x(type T) as type T1 in assignment",根本没有C/C++中我当初认为理所应当的隐式类型转化,举个例子:

var s int = 2
var m int32 = s    //Cannot use s(type int) as type int32 in assignment

    诸如此类的类型换的问题还有很多,比如逻辑运算符和位运算符对于使用的类型强行指定为bool型,然而想将一个其他类型转化到bool类型又是一个令人费神的事情,总结根本原因还是自己太渣,对于这种不能隐式转化的情况在使用习惯后还是非常喜欢的,毕竟可以减少后期的修改和其他不知名的错误。

2.代码这样写有问题吗Oh my god?

    直接举一个入门级别的“Hello World”来解释这个问题吧

//go 正确写法
func main()  {
	println("Hello World")
}

//missing function body
func main()  
{
	println("Hello World")
}
    没错你没有看错,这种写法就是有问题,go语言中已经强行限制了这种代码的风格,根本不会给你一点标新立异的机会,要不就按照这种编码规范来写,要不就按照要求的代码规范来写,要不你只能和go擦肩而过了,不过go命令行工具还是特别强大的,相信比较熟悉Linux/Unix系统的人一定会喜欢上它的,不过这种强制的格式控制对于我们阅读代码来说确实是相当的方便,尤其对于我这样的初学者来说来,还是相当的不错的。

你可能感兴趣的:(go学习,Go学习)