
Go语言基础(二)变量,常量以及与其他语言的差异
编写测试程序
注意事项
- 源码文件以_test结尾:xxx_test.go
- 测试方法名以Test开头:func Testxxx(t *testing.T){…}
编写简单的测试代码
first_test.go
package try_test
import (
"testing"
)
func TestFirstTry(t *testing.T) {
t.Log("My first try") //测试日志输出
t.Error("Over") //测试问题输出
}
结果
实现 Fibonacci 数列 (变量)
举例
1,1,2,3,5,8,13…
编写内容
package fib
import "testing"
func TestFibList(t *testing.T) {
var a int = 1
var b int = 1
t.Log("", b)
for i := 0; i < 5; i++ {
t.Log(" ", b)
tem := a
a = b
b = tem + a
}
t.Error("Over")
}
运行结果
简化声明方式
简化一
在一个赋值语句中可以对多个变量进行同时赋值
var (
a int = 1
b int = 1
)
简化二
赋值可以进行自动类型判断
a := 1
b := 1
全局声明
在方法外声明 a 变量
var a int
func TestFibList(t *testing.T) {
...
a=1
...
}
简化中间变量赋值
定义 TestExchange 方法
func TestExchange(t *testing.T) {
a := 1
b := 2
a, b = b, a
t.Log(a, b)
t.Error("Over")
}
结果
常量定义
连续设置连续值
const_test.go
package const_test
import "testing"
const (
Monday = 1 + iota
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
)
func TestConst(t *testing.T) {
t.Log(Monday, Tuesday, Wednesday)
t.Error("Over")
}
结果
位运算的常量定义
代码定义
const (
Readable = 1 << iota //0001
Writable //0010
Executable //0100
Firable //1000
)
func TestConst(t *testing.T) {
t.Log(Readable, Writable, Executable, Firable)
t.Error("Over")
}
结果
位运算
代码内容
func TestConstantTry(t *testing.T) {
a := 7 //0111
t.Log(Readable, Writable, Executable, Firable)
t.Log(a&Readable, a&Writable, a&Executable, a&Firable)
t.Log(a&Readable == Readable, a&Writable == Writable, a&Executable == Executable, a&Firable == Firable)
t.Error("Over")
}
【注意】:与运算,二进制的最小位都为1则返回后边的结果,否则为0
结果
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术