前两天经过不断度娘,与对up主的跟踪学习了解了go的历史,今天开始了go的基础!!
本章主要是go 的注释、变量及常量的梳理
不管什么语言都有自己的注释,go也不例外 !!
单行注释 //
多行注释
/**
代码段
*/
这二者的用法就不扯了,别的语言都是有的。
但是我要强调一点,在开发过程中良好的注释会让开发者赏心悦目,逻辑清晰,要养成良好注释的习惯
/** 格式: var name type
var 声明变量
name 变量名
type 变量类型
*/
var name string = "bianliang"
var age int = 18
fmt.Println(name, age)
/**
定义多个变量
如果没有赋值,每个类型有默认值
string默认为空
int默认为空
*/
var (
name string
age int
addr string
)
fmt.Println(name, age, addr)
//变量赋值
name = "lainxi"
age = 18
addr = "广西"
fmt.Println(name, age, addr)
/**
通过 := 定义 自动推到 初始化 短变量
如果已经通过var 定义过变量在使用 := 打印时会报错已经不是心得变量
*/
name := "ceshi"
age := 18
fmt.Println(name, age)
fmt.Printf("%T,%T", name, age) //打印变量数据类型 内存地址
/**
内存地址 %p
*/
var num int
num = 100
fmt.Printf("name: %d ,内存地址:%p", num, &num) //&取地址符
num = 200
fmt.Printf("name: %d ,内存地址:%p", num, &num) //值会改变,内存地址不会改变
/**
变量交换
a = 100
b = 200
a、b值交换
其他语言:
定义中间量 t = 0
t = a
a = b
b = t
*/
var a int = 100
var b int = 200
b, a = a, b //go中两值交换
fmt.Println("a=====>", a, " b===>", b)
func main(){
/**
匿名变量
*/
//a, b := test()
//fmt.Println("a=====>", a, " b===>", b)
a, _ := test() // 只想接受一个值
fmt.Println("a=====>", a)}
func test() (int, int) { //定义test函数
return 100, 200
}
/**
变量的作用域
局部 在某一个函数中定义的 变量
全局 函数外定义的
变量名可以重复使用但当打印的时候就近原则
*/
/**
定义格式: const name type
const 声明常量
name 常量名
type 常量类型 (可省略)
*/
const name string = "ceshi" //显示定义
const name2 = "lalal" //隐式定义 将字段类型隐藏起来
fmt.Println(name, name2) //打印
const a, b, c = 1, 2, 3 //多常量定义 逗号隔开
fmt.Println(a, b, c)
打印结果:
const (
a = iota
b = iota
c
d
e
f
g = 100
h
i = iota
)
fmt.Println(a, b, c, d, e, f, g, h, i)
大家猜一猜打印出来是是什么????动手试试
一定要动手试试 ,好记性不如烂笔头!!!熟能生巧 一定要多练习