Go语言进阶篇(一)

一、函数

func function_name( [parameter list] ) [return_types] {
		函数体
}

函数定义解析:

  • func:函数由 func 开始声明
  • function_name:函数名称,函数名和参数列表一起构成了函数签名。
  • parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。
  • return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
  • 函数体:函数定义的代码集合。
func eval(a,b int,op string) int{
	var result int
	switch op {
	case "+":
		result = a + b
	case "-":
		result = a - b
	case "*":
		result = a * b
	case "/":
		result = a / b
	default:
		panic("unsupported operator:"+op)
	}
	return  result
}

func div(a,b int) (int,int){
	return a / b,a % b
}

二、指针

  • Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。
  • 在指针类型前面加上 * 号(前缀)来获取指针所指向的内容。
	var ip *int
	var a int = 20
	ip = &a
	fmt.Printf("%x\n",ip)

	//交换函数
	func swap(a,b *int){
		*b , *a = *a , *b
	}

三、数组

  • 语法格式如下:

    • var variable_name [SIZE] variable_type
    //声明数组
    	var arr1 [5] int
    //初始化数组	
    	arr2 := [3]int{1,3,9}
    	arr3 := [...]int{2, 4, 6, 8, 10}
    	fmt.Println(arr1,arr2,arr3)
    //遍历数组,range可以获得数组的下标和具体值
    	//只获得下标
    	for i:= range arr3{
    		fmt.Println(arr3[i])
    	}
    	//获得下标和具体值
    	for i ,v := range arr2{
    		fmt.Println(i,v)
    	}
    	//可以使用——省略变量
    	for _ ,v := range arr2{
    		fmt.Println(v)
    	}
    
    
使用函数时,是拷贝数据过去,最后不改变原数组中的数据
[10]int 与[20]int 是不同类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值