【Duke】变量、常量以及其他语言的差异 003 - PingPongGooo/GoFoundation GitHub Wiki

The master has failed more times than the beginner has tried.

package try_test

import (
	"testing"
)

func TestFirstTry(t *testing.T) {
	t.Log("My first try!!")
}


// The master has failed more times than the beginner has tried.

// 编写测试程序
// 1. 源码文件以_test结尾:XXX_test.go
// 2. 测试方法名以Test 开头: func TestXXX(t *testing.T) {...}

// 大写的方法,代表包外可以访问

// 实现Fibonacci数列

// 1,1,2,3,5,8,13

package fib

import (
	"testing"
)

// var a int // 全局变量

func TestFibList(t *testing.T) {
	// var a int = 1 // 声明变量不使用,编译会报错。
	// var b int = 1

	// var (
	// 	a int = 1
	// 	b     = 1
	// )

	// a = 1
	a := 1
	b := 1

	t.Log(a)
	for i := 0; i < 5; i++ {
		t.Log(" ", b)

		tmp := a
		a = b
		b = tmp + a

	}
	t.Log()
}


// 变量赋值 与其他主要编程语言的差异 赋值可以自动类型推断 在一个赋值语句中可以对多个变量进行同时赋值


func TestExchange(t *testing.T) {
	a := 2
	b := 3

	t.Log(a, b)
	a, b = b, a

	t.Log(a, b)
}