Go语言学习总结

注释

  • 单行注释:\\
  • 多行注释:\* *\

数据类型

类型 说明
bool true/false
byte 字节
uintptr 指针
类型 说明
uint8 无符号整型
uint16
uint32
uint64
int8
int16
int32
int64
int 32位整型
uint 32位整型
类型 说明
float32
float64
complex64 32位实数和虚数
complex128 64位实数和虚数

变量与常量

  • 变量声明:
var name type //声明变量
var name1, name2 type //申明多个同类型变量
var name = value //声明的时候自动判断变量类型
var name1, name2 = value1, value2 //多变量声明
name := value //声明时省略var,使用:=
name1, name2 := value1, value2 //多变量声明
  • 常量
const name type = value //常量声明
const name = value
const name1, name2 = value1, value2
  • 枚举
const(Name1 = 0, Name2 = 1, Name3 = 2)
  • iota
const(Name1 = iota, Name2, Name3) //在const里第一个iota是0,后面的每个变量依次加1
const(
	a = iota //0 iota=0
	b //1 iota=1
	c = "hi" //hi iota=2
	d //hi iota=3
	e = 10 //10 iota=4
	f //10 iota=5
	g = iota //6 iota=6
	h //7 iota=7
)

循环和跳转

  • for
for i := 0; i<10; i++{
}
for i < 0 {
}

for i, value := range arr{
}
for key, value := range map{
}
  • goto
goto lable
label: 代码块;

函数

  • 定义
func name(参数列表)返回值{
}
  • 函数作为参数
type funcType func(int)int

func funcName(f funcType){
	f()
}
  • 闭包
func add() func()(int){
	i := 0
	return func()(int){
		i++
		return i
	}
}

func main(){
	myfunc := add()
	fmt.Println(myfunc())//1
	fmt.Println(myfunc())//2
}

int int64与string

  • 字符串intint64
import (
"strconv"
)

var str = "123"
var num1, _ := strconv.Atoi(str) //转int
var num2, _ := strconv.ParseInt(str, 10, 64) //转int64
  • intint64字符串
var num1 int = 123
var num2 int64 = 123
var str1, _ := strconv.Itoa(num1) //int转字符串
var str2, _ := strconv.FormatInt(num2, 10) //int64转字符串

time包

函数 返回值 作用
New Time 当前时间
Unix int64 从utc 1970年1月1日以来的秒数
UnixNano int64 从utc 1970年1月1日以来的纳秒数

你可能感兴趣的:(学习总结)