我横竖睡不着,又起来看了一遍Golang文档,发现满屏写着 -- 省流

最近准备从 Java 转 Golang,收集了一些 Golang 的学习资料。
决定从 Golang 的文档看起。

命名

Go的关键字数量非常克制,只有 25 个:

    break        default      func         interface    select
    case         defer        go           map          struct
    chan         else         goto         package      switch
    const        fallthrough  if           range        type
    continue     for          import       return       var

其他语言:如 C++:82个,Java:50个,PHP:49个,Python3.7:35个

对于可见性:

    1)声明在函数内部,是函数的本地值,类似private
    2)声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect
    3)声明在函数外部且首字母大写是所有包可见的全局值,类似public

变量

从 C\C++ 或者Java语言转 Golang, 第一个不习惯的,可能就是变量的声明。

	var 变量名 变量类型

在这里插入图片描述
省流写法:

	// 批量声明
	var (
		a string
		b int
	)
	// 批量初始化,这里还包含了类型推导
	var name, age = "豆小匠的编程日常", 18
	// 短变量声明(只能用于函数内部)
	sex := 1

流程控制

	if 布尔表达式 {
    
    
		// 布尔表达式为 true 执行
	}
	// 注意在 if 后声明的变量只在 if 代码块里有效(含 else if 或 else 里的代码块)
	if name, age := "豆小匠", 18; age < 22 {
    
    
		println(name)
	}

同样,switch 、 for 等流程控制关键字后也是不接括号的

	// go 中的 case 后默认带有 break,如果不需要 break,可以使用fallthrough
	switch key {
    
    
	    case a:
	        ...
	    case b:
	        ...
	    default:
	        ...
	}
    for init; condition; post {
    
     }	// 和其他语言 for 循环差不多
    for condition {
    
     }	// 相当于 while(condition){}
    for {
    
     }	// 相当于 while(1)
    init: 一般为赋值表达式,给控制变量赋初值;
    condition: 关系表达式或逻辑表达式,循环控制条件;
    post: 一般为赋值表达式,给控制变量增量或减量。

从这几方面,go 语言的简洁性可见一斑。

猜你喜欢

转载自blog.csdn.net/weixin_44778151/article/details/121705722