Go语言中文网 为您找到相关结果 2

Golang的值类型receiver和指针类型receiver

Golang的值类型和指针类型receiver一直让我比较混淆,在此做几个试验备忘 先看指针类型的receiver: package main import ( "fmt" ) type BasicEvent struct { EventId int } func (ev *BasicEvent) updateEventID(id int) { ev.EventId = id } func main() { ev1 := &BasicEvent{EventId: 1} fmt.Printf("before update id = %d\n", ev1.EventId) ev1.updateEventID(2) fmt.Printf("After update id = %d\n", ev1....阅读全文

博文 2015-04-23 15:00:01 miros

golang中的值传递和引用传递

前言 相信写golang时间不长的同学经常会被值传递和引用传递所困扰,我们今天通过几个简单的实战例子来说明一下。 举例之前,我们先要记住两点: golang默认都是采用值传递,即拷贝传递 有些值天生就是指针(slice、map、channel) 举例 package main import ( "fmt" ) func main() { // map m := make(map[int]string) m[0] = "a" m[1] = "b" changeMap(m) fmt.Printf("map:%+v", m) //输出 map:map[0:aaa 1:b] fmt.Println() //array var a = [2]string{"a", "b"} changeArray(a...阅读全文

博文 2020-05-09 16:32:54 王_坤