GO学习笔记(1)

链接: 知识来源

目录

  • 变量的定义
  • 变量初始化
  • 打印内存地址
  • 变量交换
  • 匿名变量
  • 常量

变量的定义

package main

import "fmt"

func main() {
	//var 变量名 变量类型
	var name string = "mys"
	var age int = 20
	//批量定义变量
	var (
		a int
		b string
		c bool
	)
	fmt.Println(name, age)
	fmt.Println(a, b, c)
}

输出:

mys 20
0  false


变量初始化

package main

import "fmt"

func main() {
	//短变量声明+初始化
	// := 自动推导变量类型并且必须是一个没有被定义过的变量
	name := "mys"
	age := 18
	fmt.Println(name, age)
	fmt.Printf("%T %T", name, age)
}

输出:

mys 18
string int

打印内存地址

package main

import "fmt"

func main() {
	num := 100
	fmt.Printf("num:%d MemoryAddress:%p \t", num, &num)
	//内存地址不变
	num = 200
	fmt.Printf("num:%d MemoryAddress:%p", num, &num)
}

输出:

num:100 MemoryAddress:0xc00001c0a8      num:200 MemoryAddress:0xc00001c0a8


变量交换

package main

import "fmt"

func main() {
	a := 100
	b := 200

	a, b = b, a
	fmt.Println(a, b)
}

输出:

200 100


匿名变量

package main

import "fmt"

func test() (int, int) {
	return 100, 200
}
func main() {
	//匿名变量不会占用内存空间,不会分配内存。 匿名变量与匿名变量直接也不会因为多次声明而无法使用
	//GO语言 声明变量但是不使用会报错
	a, _ := test()
	_, b := test()
	fmt.Println(a, b)

}

输出:

100 200


常量

package main

import "fmt"

func main() {
	const URL1 = "www.baidu.com"       // 隐式类型定义
	const URL2 string = "www.csdn,com" // 显示类型定义
	const a, b, c = "mys", 3.14, true  // 多重赋值
	fmt.Println(URL1, "\t", URL2)
	fmt.Println(a, b, c)
	//iota特殊常量,是go语言的常量计数器
	//iota在const关键字出现时将被重置为零
	const (
		x = iota
		y
		z
	)
	fmt.Println(x, y, z)
}

输出

www.baidu.com    www.csdn,com
mys 3.14 true
0 1 2        


你可能感兴趣的:(golang,学习,开发语言)