本节介绍 python 和 golang 中的变量,以及4种基础的数据类型:整形(int)、浮点型(float)、字符串(string)、布尔型(bool)。
1-变量的定义
- python
python是一种弱类型的脚本语言,在定义变量的时候,不需要指明数据类型,python解释器能够自动识别数据类型。
a, b, c, d = 12, 2.0, "hello world", True
print(a,b,c,d)
print(type(a),type(b),type(c),type(d))
运行结果如下:
- golang
golang是编译型语言,定义变量方面,它相较于其它编译型语言来说,是更灵活的。
通常来说,我们需要指定变量的数据类型,在赋值的时候,严格地对变量赋相同数据类型的值。
另一方面,golang也支持对变量数据类型的自动推断,若在声明变量的时候同时赋值,golang编译器能够根据值的数据类型,自动推断变量的数据类型。
package main
import (
"fmt"
"reflect"
)
func main() {
// 第1种方式
var a int
a = 10
fmt.Println(a)
fmt.Println(reflect.TypeOf(a))
// 第2种方式
b, c, d := 12.0, "hello world", false
fmt.Println(b, c, d)
fmt.Println(reflect.TypeOf(b), reflect.TypeOf(c), reflect.TypeOf(d))
}
运行结果如下:
2- 变量与命名空间
无论是 python 还是 golang ,变量名均由 大写字母、小写字母、下划线、数字 这几部分共同构成,其中数字不能作为变量名的开头字符。
- python
在 python 中,推荐使用下划线的变量命名方式,使用下划线对不同的单词进行分隔:
user_msg = "登录系统"
user_name = "tim"
user_pswd = 123456
- golang
golang 推荐使用驼峰体的变量命名方式,不同单词的首字母进行大写。
var userMsg string = "登录系统"
var userName = "tim"
userPswd := "123456"
- golang中的首字母大小写
值得注意的是,在命名方面,golang 对首字母的大小写做了区分。
golang 是以 包 (package) 为单位对代码文件进行管理,如果 变量 (或方法) 的首字母是大写的,则表示这个 变量 (或方法) 在包的外部可以被调用;如果 变量 (或方法) 的首字母是小写的,则表示这个 变量 (或方法) 只能在包的内部被使用。
fmt.Println(a) :表示调用 fmt包 中的 Println 方法,首字母 P 为大写
reflect.TypeOf(a) :表示调用 reflect包 中的 TypeOf 方法,首字母 T 为大写
...to be continue...