摘要:
Golang defer defer最主要的价值是, 在函数执行完毕后,可以及时的释放函数创建的资源 func test(){ file = openfile() defer file.close() } 当执行到defer时, 不会立即执行defer,而是将defer后的语句压入到一个栈中,然后继 阅读全文
摘要:
Golang 函数 基本语法 func (函数所属类型对象)函数名 (形参列表) 返回值{ //body return 返回值 } (函数所属类型对象)只有指定的类型对象采用调用该方法 不带返回值 func say(str string){ fmt.Println(str) } say("world 阅读全文
摘要:
Golang type 和C#中的typedef相似, Go中人为type取的别名是新的类型, 同样需要强转 Example one type INT int //为int取一个别名 func main() { var num INT = 30 //main.INT(包名.别名) , 30 fmt. 阅读全文
摘要:
Golang 分支控制和循环 if -- else go可以在条件中定一个一个变量,然后使用,大括号不能省略 func main() { if a := 10; a < 10 { fmt.Println(a) }else if a > 10 { fmt.Println(a) }else{ fmt.P 阅读全文
摘要:
Golang 字符型 Go中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。 如果使用中文字符,需要使用int保存 var a int = '你' var b byte = 'a' fmt.Printf("a = %c, b = %c", a,b) 阅读全文
摘要:
Golang运算符 go的++和--只能写在变量的后面,不能写在变量的前面,即:只有a++, a--没有++a,--a go的自增自减只能当作一个独立语句使用, 不能结合其他运算符使用 func main() { var a int = 1 a++ ++a //错误, go中没有++a b := a 阅读全文
摘要:
final 和 static 的区别 修饰变量 final 修饰变量表示一旦给值,就不可修改, 需要通过new关键字创建实体类然后调用, 存入常量池不会被GC回收 static修饰变量, 可以不通过new关键字创建实体类,直接通过类名调用,存入到类信息中不会被GC回收 修饰方法 final修饰方法, 阅读全文
摘要:
Golang标识符命名规则 由26个英文字母大小写,0-9,_ 组成 不能以数字开头 Golang中严格区分大小写 标识符不能包含空格 下划线“_”本身在Go中是一个特殊的标识符,称为空标识符。可以表示任何其他的标识符, 但是对它的值会被忽略(比如:忽略某个返回值)。所以仅能被作为占位符使用,不能用 阅读全文
摘要:
Golang值类型与引用类型 值类型: 数值类型,bool,string,数组,struct结构体 变量直接存储值,内存通常在栈中分配, 修改值, 不会对源产生影响 引用类型: 指针,slice切片,管道chan,map,interface等 变量存储的是一个地址,这个地址对应的空间才真正存储数据值 阅读全文
摘要:
Golang指针 基本使用 func main() { i := 20 p := &i //var p *int = &i fmt.Println("i的地址",&i) fmt.Println("指针变量p",p) fmt.Println("指针变量的值",*p) a := 20 var b *in 阅读全文