ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 类型推断(Type Deduction) 为了方便,并不总是需要明确指定一个变量的类型,编译器会通过第一个向这个对象赋予的值的类型来进行推断。 ``` uint24 x = 0x123; var y = x; ``` 函数的参数,包括返回参数,不可以使用`var`这种不指定类型的方式。 需要特别注意的是,由于类型推断是根据第一个变量进行的赋值。所以代码`for (var i = 0; i < 2000; i++) {}`将是一个无限循环,因为一个`uint8`的`i`的将小于`2000`。 ``` pragma solidity ^0.4.4; contract Test{ function a() returns (uint){ uint count = 0; for (var i = 0; i < 2000; i++) { count++; if(count >= 2100){ break; } } return count; } } ``` [http://solidity.readthedocs.io/en/develop/types.html#type-deduction](http://solidity.readthedocs.io/en/develop/types.html#type-deduction)