Golang 本身可以使用 go run 以解释型语言的方式运行(实际上经过了编译),Apple 最新推出的 Swift 在这个方面和 Golang 有点不约而同的类似。新编程语言的设计者都是业界大牛,我们可以感觉到他们在设计一门新语言的时候,一方面吸收已有编程语言的优点,明确新语言的开发领域,另一方面都不同程度支持函数型编程范式,也都自带 GC,保证开发效率。所以在我们根据自己的兴趣学习这些语言的时候,是可以一定程度上触类旁通的,语言本身不同的地方我个人觉得和语言设计者对编程语言发展的理解以及语言本身针对的开发领域不同关系更多点。
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It’s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
将上面的代码存入源文件 types.go 并使用 go run types.go 可以看到下面的输入:
这里需要注意的是:
变量被声明后会自动初始化为类型的默认值,如果初始化的时候给了初始值则使用该值。
对于引用类型来说,空值为 nil。
uintptr 能够用来存储 32bit 和 64bit 的地址。
uint 可以表示 32bit 或者 64bit 的整型数。
int 是 uint 的别名。
rune 是 int32 的别名,可以用来存储 Unicode 标准中定义的任一字符。
byte 是 uint8 的别名,
在表达式中进行计算时如果涉及多个不同的数字类型,类型转换必须显式定义,以保证可移植性:
To avoid portability issues all numeric types are distinct except byte, which is an alias for uint8, and rune, which is an alias for int32. Conversions are required when different numeric types are mixed in an expression or assignment. For instance, int32 and int are not the same type even though they may have the same size on a particular architecture.
Golang 本身可以使用 go run 以解释型语言的方式运行(实际上经过了编译),Apple 最新推出的 Swift 在这个方面和 Golang 有点不约而同的类似。新编程语言的设计者都是业界大牛,我们可以感觉到他们在设计一门新语言的时候,一方面吸收已有编程语言的优点,明确新语言的开发领域,另一方面都不同程度支持函数型编程范式,也都自带 GC,保证开发效率。所以在我们根据自己的兴趣学习这些语言的时候,是可以一定程度上触类旁通的,语言本身不同的地方我个人觉得和语言设计者对编程语言发展的理解以及语言本身针对的开发领域不同关系更多点。
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It’s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
将上面的代码存入源文件 types.go 并使用 go run types.go 可以看到下面的输入:
这里需要注意的是:
变量被声明后会自动初始化为类型的默认值,如果初始化的时候给了初始值则使用该值。
对于引用类型来说,空值为 nil。
uintptr 能够用来存储 32bit 和 64bit 的地址。
uint 可以表示 32bit 或者 64bit 的整型数。
int 是 uint 的别名。
rune 是 int32 的别名,可以用来存储 Unicode 标准中定义的任一字符。
byte 是 uint8 的别名,
在表达式中进行计算时如果涉及多个不同的数字类型,类型转换必须显式定义,以保证可移植性:
To avoid portability issues all numeric types are distinct except byte, which is an alias for uint8, and rune, which is an alias for int32. Conversions are required when different numeric types are mixed in an expression or assignment. For instance, int32 and int are not the same type even though they may have the same size on a particular architecture.