狂神说 csdn(狂神说Go语言笔记—Go基础语法)
导读:注释 给别人看的,机器并不会执行这行语句...
注释
给别人看的 ,机器并不会执行这行语句
1.单行注释
// 我是单行注释2.多行注释
/* 我是多行注释 我是多行注释 我是多行注释 我是多行注释 */ // 这是一个main函数 ,这个是go语言启动的入口 func main() { //fmt.Println :打印一句话 ,然后执行完毕后 ,进行换行 fmt.Println("Hello,Word") }变量
字面理解为变量就是会变化的量
package main import "fmt" func main() { var name string = "DuPeng" fmt.Println(name) }注意:如果在点击这里执行会出错
出错提示:项目里有多个main方法
正确执行方式:鼠标单击右键执行 ,一定要在main方法外! 一定要在main方法外 !一定要在main方法外 ,重要事情说三遍
变量的定义
var name typename
name 为变量 ,它指向的是地址 ,而这个地址指向内存空间 ,而内存空间的数据是可以更换的
var
声明变量的关键字,固定的写法 ,记住即可
type
代表变量的类型
定义多个变量
package main import "fmt" // “= ” 赋值符号 将等号右边的值赋值给等号左边 func main() { var ( //姓名 name string //年龄 age int //地址 addr string ) //string 默认值:空 //int 默认值:0 fmt.Println(name, age, addr) }变量的初始化
标准格式
var 变量名 类型 =值(表达式)也可以先定义 ,再赋值
package main import "fmt" func main() { // “= ” 赋值符号 var ( //姓名 name string //年龄 age int //地址 addr string ) name = "dupeng" age = 22 addr = "成都" //string 默认值:空 //int 默认值:0 fmt.Println(name, age, addr) }短变量声明并初始化
import "fmt" func main() { // :=自动推导 name := "dupeng" age := 18 fmt.Println(name, age) //打印输出name和age的类型 fmt.Printf("%T,%T", name, age) }打印输出声明类型
内存地址
打印内存地址
import "fmt" func main() { var num int num = 100 fmt.Printf("num:%d,内存地址:%p", num, &num) }不要忘记取地址符
值发生变换而内存地址不会发生改变,但每次重启系统就会重新分配一个新的地址空间
变量交换
package main import "fmt" func main() { /* 在其他语言中 变量的交换为下列代码 a=100 b=200 temp=0 temp=a a=b b=temp */ // 而在go语言中 var a int = 100 var b int = 200 b, a = a, b fmt.Println(a, b) }匿名变量
特点是"_","_"本身就是一个特殊字符被称为空白标识符 ,任何赋值给这个标识符的值都会被抛弃 ,这样可以加强代码的灵活性
package main import "fmt" func test() (int, int) { return 100, 200 } func main() { a, b := test() fmt.Println(a, b) }当我们不想接收第二个值时可以废弃掉
package main import "fmt" func test() (int, int) { return 100, 200 } func main() { a,_ := test() fmt.Println(a) }变量的作用域
一个变量(常量 、类型或函数)在程序中都有一定的作用范围,称之为作用域 。
局部变量
在函数体声明的变量 ,只作用在函数体内
全局变量
在函数体外声明的变量为全局变量
全局变量必须以var关键字开头 ,如果要在外部包使用全局变量的首字母必须大写
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!