继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第12天 Go开发工程师全新版 3-1

暮雩
关注TA
已关注
手记 65
粉丝 10
获赞 5

课程名称: Go开发工程师全新版

课程章节: 3-1 如何定义变量

课程讲师: bobby

课程内容:
go 是静态语言,静态语言和动态语言相比变量差异很大

go 中定义变量有如下特点

  1. 变量必须先定义后使用(局部变量)

  2. 变量必须有类型

  3. 类型定下来后不能改变

定义变量的方式

使用 var 关键子定义变量:var [变量名] [变量类型] = [变量值]

  1. 先定义变量再赋值

    package main
    
    func main() {
        // 定义变量name,类型是 int 类型
    	var name int
        // 赋值,这里的值要和定义的变量类型一致
    	name = 1
    }
    
  2. 定义变量并赋初始值

    定义一个变量并 赋初始值时 变量类型可以省略。单独定义不能省略 变量类型

    package main
    
    func main() {
    	var name int = 1
    
    	// 定义一个变量并赋初始值时 变量类型可以省略,如下
    	var age = 1
    
    	// 单独定义不能省略 变量类型
    	var name // 错误写法
    }
    
    
  3. 在一个 var 中定义多个变量

    package main
    
    func main() {
    	var (
    		name string = "bobby"    // 写全
    		age = 12   // 赋值的简写
    		ok bool  // 不赋值,需要写类型
    	)
    }
    
  4. 使用 := 可以更简单的 定义变量 并 赋初始值【简洁变量定义】

    := 赋值符号可以省略 var 关键字

    注意:

    • 简洁变量定义不能在 全局
    • :=定义变量并赋初始值不是赋值,赋值使用 = 不需要加 :
    package main
    
    
    age := 1 // 错误,不能在全局中这样写
    
    func main() {
    	age := 1
    }
    
  5. 一行定义多个变量

    package main
    
    import "fmt"
    
    
    func main() {
    	//	多变量定义,类型一致
    	var user1, user2, user3 string
        
        // 这里赋初始值
    	var user1, user2, user3 = ”bobby1“, 1, "bobby3"
    }
    
    

定义变量的一些注意事项

  • 变量必须先定义才能使用

    package main
    
    import "fmt"
    
    func main() {
        fmt.Print(user) //错误,不能使用未定义的变量
    }
    
  • go语言是静态语言,要求变量的类型和赋值类型一致

    package main
    
    import "fmt"
    
    func main() {
        var address string = 1	// 错误,定义的类型 和 赋值的类型不一致
    }
    
  • 同一代码快变量名不能冲突

    全局的变量名 可以和 局部变量名 重名,但优先级是 局部变量 > 全局变量

    package main
    
    import "fmt"
    
    var age = 1
    
    func main() {
        age := 1
        age = “bobby”		// 错误,同一代码快变量名冲突
    }
    
  • 简洁变量定义不能用于全局变量

    package main
    
    import "fmt"
    
    var age = 1
    
    age := 1 // 错误,简洁变量定义不能用于全局变量
    
    func main() {
        age := 1
        age = “bobby”		// 错误,同一代码快变量名冲突
    }
    
  • 变量不赋初始值的话是有默认值的,每个类型默认值不一样

    package main
    
    import "fmt"
    
    func main() {
        var age int
        var age2 string
        fmt.Print(age)	// 值为 0
        fmt.Print(age2)	// 值为 ‘’
    }
    
  • 定义了局部变量一定要使用,否则会报错

    package main
    
    func main() {
        var age int // 错误,没有使用
    }
    
全局变量和局部变量

变量分为 全局变量局部变量

全局变量:写在在 main 函数外面**

局部变量:写在在 main 函数里面,局部变量必须使用

package main

import 'fmt'

// 全局变量
var name = “bobby”

func main() {
	// 局部变量
    var age = 1
    
    // 使用局部变量
	fmt.Print(age)
}

需要注意:go语言中定义局部变量后必须使用,全局变量可以不使用

package main

import 'fmt'

// 定义全局变量后可以不使用
var name = “bobby”

func main() {
	//定义局部变量必须使用
	age := 1

	// 使用局部变量
	fmt.Print(age)
}

课程收获:

  1. var 关键字定义变量
  2. 全局遍历和局部遍历的定义
  3. 定义变量的一些注意事项
    图片描述
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP