分类目录归档:后端

Golang_03_函数


函数

为完成某一功能的程序指令(语句)的集合,称为函数

调用机制

  1. 在调用一个函数时,会为该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其他的栈空间区分开来;
  2. 每个函数对应的栈中,数据空间是独立的,不会混淆;
  3. 当一个函数执行完毕后,程序会销毁这个函数对应的栈空间;

return语句

  1. 如果返回多个值,在接收时,可以用_符号表示占位忽略;
func [函数名] ([形参列表]) ([返回值列表]) {  // 基本语法    
    [指定语句]    
    return [返回值列表]  // 当函数有return语句时,将结果返回给调用者 
}

递归调用

函数

Read more

Golang_04_面向对象


结构体struct

https://book.itsfun.top/gopl-zh/ch4/ch4-04.html

在Go中,没有传统意义上的对象的概念。一个结构体就是一个对象,结构体中包含了不同的数据类型组成一个对象。结构体属于值类型,遵循值拷贝

field

  1. field的类型可以为基本类型、数组或引用类型;
  2. 创建出来的结构体默认有零值,即
  3. 布尔类型为false,数值类型为0,字符串类型为""
  4. 数组类型的默认值和它的元素类型相关,如score[3]int则为[0, 0, 0]
  5. 指针、slice和map的零值为nil,即还未分配空间
  6. 不同结构体变量的字段相互独立,因为结构体属于值类型
ty

Read more

Golang_01_介绍及基础


GO语言的特点

  1. 从C语言中继承了较多理念,包括表达式语法,控制结构,基础数据结构,调用参数传值,指针等等;
  2. 引入包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在;
  3. 垃圾回收机制,内存自动回收;
  4. 天然并发。语言层面支持并发;goroutine,轻量级线程,可实现大并发处理,高效利用多核;基于CPS并发模型实现;
  5. 吸收了管道通信机制,形成Go语言特有的管道channel。通过管道channel可以实现不同的goroute之间相互通信;
  6. 函数支持返回多个值;
  7. 新的创新,例如切片slice,延时执行defer等;

开发环境(software Development K

Read more