go语言——函数

一、函数格式
type mytype int   //新类型
func (p mytype) funcname(q int) (r, s int) {return 0,0}

// func定义一个函数,(p mytype)把函数绑定到特定类型上,funcname 是函数名字,(q int)是参数,(r, s int)是返回类型
二、作用域
  • 局部变量仅仅在执行定义它的函数时有效
var a int
func main() {
	a = 5
	println(a)
	f()
}
func f() {
	a := 6
	println(a)
	g()
}
func g() {
	println(a)
}

//结果:565
三、返回值
  • Go 函数的返回值或者结果参数可以指定一个名字,并且像原始的变量那样使用,像输入参数那样。
四、方法
  1. 方法接收者是指针/普通类型的工作原理具体怎么理解?
package main
import "fmt"
//定义结构体
type Matrix struct{
	len int    //结构体内的变量声明不需要加 var
	width int
}
//注意区分这两者的区别,对象不是指针的时候,对对象的成员的修改是无效的!
func (m Matrix) SetValue() {
	m.len=99
	m.width=888
}
func (m* Matrix) pSetValue(){
	m.len=999
	m.width=88
}
func main(){
	var mat Matrix
	mat.SetValue()
	fmt.Println(mat.len,mat.width)
	mat.pSetValue()
	fmt.Println(mat.len,mat.width)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值