函数
os.Exit(int)
os.Args
fmt.Println(os.Args)
go run helloworld.go LH
#标准模式
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) > 1 {
fmt.Println("hello world", os.Args[1])
}
}
变量常量
测试函数方法编写

//文件名
fib_test.go
//函数命名
func TestFibList(t *testing.T) {}
//示例代码
unc TestFibList(t *testing.T) {
///* var a int = 1
// var b int = 1*/
//var (
// a int = 1
// b = 2
//)
a := 1
b := 1
t.Log(a)
for i := 0; i < 5; i++ {
t.Log("", b)
tmp := a
a = b
b = tmp + a
}
}
常量关键字
- 常量是与变量相对于的一个概念,他们都是对应一块内存,只是变量可以被修改,常量一旦定义就不能被修改。
- 常量在编译时就创建,只能定义bool,字符串和数字型(包括整型,字符,浮点型,复数)
- 常量的算数、逻辑、比较运算的结果也是常量
- len、cap、real、image、complex、unsafe.Sizeof的调用返回是常量。 ```go //关键字 const
//例 const b int = 2
//同时声明多个常量
const(
c = 1.0
d = “str”
)
//同时申明多个常量时,未赋值的常量会复用前一个常量的值
const(
e = 1
f
g = 2
h
)
<a name="N0YCX"></a>
## 变量关键字
- 变量是一个抽象概念,它有内存地址,数据类型和值组成:
- 内存地址:给出了变量在内存中存储的其实地址,一般占用4或8字节(32位、64位机器)。
- 数据类型:定义了变量占用内存的大小。
- 值:表示内存地址中存放的内容。
```go
//关键字
var
1、标准格式
go语言变量类型是后置的var 变量名 类型 var a int2、缺省类型方式
go语言根据初始化值自动推导类型,这种方式必须显式初始化。var b = 13、批量定义 ```go var( c int = 10 d float32 e []byte )
- **4、简短格式**<br />这种方式**只能用在函数内部**,必须显式初始化,在局部变量定义中比较常用。 \
```go
f := 1.0
f1,f2,f3 := 1, 1.0, "aaa"
数据类型
数据类型
类型转换
- 与其他主要编程语言的差异
- Go语言不允许隐式类型转换
- 别名和原有类型也不能进行隐式类型转换 ```go type // 别名关键字
type username 类型 //语法
//类型转换必须使用显示类型转换
package type_test
import “testing”
type MyInt int64
func TestImplicit(t *testing.T) { var a int32 = 1 var b int64 b = int64(a) var c MyInt c = MyInt(b) t.Log(a, b, c) } ```
类型的预定义值
指针类型

