Go语言初探,几种swap的写法

公司要用,所以提前学一发。简单写一下Swap(a,b)的几种姿势吧(Go初学中,学习时间不到一周),还蛮好玩的。

第一种,c语言风格,引用地址。

package main

import (
	"fmt"
)

func swap(i *int, j *int) {
	temp := *i
	*i = *j
	*j = temp
}

func main() {
	a := 3
	b := 2
	fmt.Println(a, b)
	swap(&a, &b)
	fmt.Println(a, b)
}

第二种,常规方式

package main

import (
	"fmt"
)

func swap(i int, j int) (res1 int, res2 int) {
	res1 = j
	res2 = i
	return res1, res2
}

func main() {
	a := 3
	b := 2
	fmt.Println(a, b)
	a, b = swap(a, b)
	fmt.Println(a, b)
}

第三种,平行赋值,注意赋值顺序

package main

import (
	"fmt"
)

func main() {
	a := 3
	b := 2
	fmt.Println(a, b)
	a, b = b, a
	fmt.Println(a, b)
}

简单来说,Go的上手还是挺有趣的一个过程。和Java完全不一样,没有Class的概念,但是用struct很灵活的弥补了,切片类型的长度和容量也很有趣,不过怎么灵活运用还不是很有感觉,需要多刷刷代码。之前接触过Java,Python,个人归纳总结后发现掌握一门新的语言主要还是先看他的基本词法,数据的类型和使用方式,流程控制方式。然后就是狂刷算法题,刷熟练度就好。至于一些库、框架的使用,用到了在学吧,需要一点实战。继续加油!

——Snake

 

snake

作者: snake

我们需要为这个社会做一点贡献,失去了才懂得去珍惜。

《Go语言初探,几种swap的写法》有3个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注