go-基础-1-变量-记录

go 变量

变量定义

var 变量名 变量类型

变量赋值

var 变量名 变量类型 = 变量值

变量名 := 变量值

package main

import "fmt"

func main() {
	var name string = "chang"
	fmt.Println(name)
}
package main

func main() {
	var (
		name string
		age  int
		sex  string
	)
	println(name, age, sex)
}
package main

import "fmt"

func main() {
	//变量初始化并赋值,可自动识别变量类型
	name := "change"
	age := 19
	fmt.Printf("%T,%T", name, age)
}

打印内存地址

package main

import "fmt"

func main() {
	var age int
	age = 18
	fmt.Printf("age:%d,内存地址%p", age, &age)

	age = 24
	fmt.Printf("age:%d,内存地址%p", age, &age)

	age = 200
	fmt.Printf("age:%d,内存地址%p", age, &age)

}

变量交换

package main

import "fmt"

func main() {
	var (
		age1 = 18
		age2 = 30
	)
	age1, age2 = age2, age1
	fmt.Println(age1, age2)
}

匿名变量

描述

匿名变量的特点是一个"_"下划线,表示空白标志符。它可以像其他变量一样用于变量的声明和赋值,但是任何赋给这个标志符的值都将被抛弃,因此该变量不能用于后续的任何计算或操作

例子

package main

import "fmt"

func test() (int, int) {
	return 100, 200
}

func main() {
	a, _ := test()
	_, b := test()
	fmt.Println(a, b)
}

变量作用域

类型

  • 局部变量

    在函数内定义的变量,只能在定义的函数内使用。

  • 全局变量

    在函数外定义的,没有其他函数包裹的变量,能被其他源文件引用。全局变量必须以var开始,如果想要在外部包中使用全局变量,全局变量必须首字母大写。

就近原则

全局变量,局部变量可以重名,但是最近的一个变量有效。

常量

  • const修饰,不可以修改
  • iota 常量计算器,可以理解为const语句块的元素下标

数据类型

  • bool、int、float、byte、String
  • 类型转换,必须显式转换(a := 3 c:= float64(a)),整型不能转换成bool理性

运算符

  • 算数运算符 + - * /
  • 关系运算符 == != > >= < <=
  • 逻辑运算符 && || !
  • 位运算符 << >>…
  • 赋值运算符 += -=…

你可能感兴趣的:(go,golang,开发语言,后端)