golang:基本数据类型和操作符
发布时间:2020-12-16 09:23:33 所属栏目:大数据 来源:网络整理
导读:1). 文件名 关键字 标识符 1 . 所有go源码都以 .go 结尾 2 . 标识符以字母或下划线开头,大小写敏感 3 . _ 是特殊标识符,用来忽略结果 4 . 保留关键字 golang?关键字如下: 包中函数的调用: a. 同一个包中的函数,可直接调用 (大小写都可以)b. 不同包中
1). 文件名 & 关键字 & 标识符1. 所有go源码都以 .go 结尾 2. 标识符以字母或下划线开头,大小写敏感 3. _ 是特殊标识符,用来忽略结果 4. 保留关键字 golang?关键字如下: 包中函数的调用: a. 同一个包中的函数,可直接调用 (大小写都可以)
b. 不同包中的函数,通过 包名 + 点 + 函数名进行调用 (函数名的首字母必须大写)
包访问控制规则: a. 大写意味着这个函数/变量是可导出的
b. 小写意味着这个函数/变量是私有的,包外部不能访问
? 示例1:写一个程序,对于给定一个数字n,求出所有两两相加等于n的组合。 代码如下: package main import ( "fmt" ) func handle(n int){ for i := 0;i<=n;i++ { fmt.Printf("%d+%d=%dn",i,n-i,n) // fmt.Printf() 是格式化输出 } } func main(){ handle(5) } 编译运行: [[email?protected] project]# go build -o bin/example01_plus go_dev/day02/example01_plus/main [[email?protected] project]# bin/example01_plus 0+5=5 1+4=5 2+3=5 3+2=5 4+1=5 5+0=5 [[email?protected] project]# 示例2:一个程序包含两个包 add 和 main,其中 add 包中有两个变量: Name 和 age。问 main 包中如何访问 Name 和 age? # 目录结构如下: [[email?protected] day02]# tree example02_call_var01 example02_call_var01 ├── add │?? └── add.go └── main └── main.go 2 directories,2 files [[email?protected] day02]# 示例代码如下: # 方式1: main.go 文件: package main import ( "go_dev/day02/example02_call_var01/add" "fmt" ) func main(){ fmt.Println("Name=",add.Name) fmt.Println("Age=",add.Age) } add.go 文件: package add var Name string = "hello world" // 声明变量,并对变量的值进行初始化(编译时);字符串如果只声明却没初始化,则该字符串变量的值为 空 var Age int = 10 // 字符串如果只声明却没初始化,则该字符串变量的值为 0 # 编译之后的运行结果如下: [[email?protected] bin]# ./example0201 Name= hello world Age= 10 [[email?protected] bin]# # 方式2: main.go 文件: package main import ( "go_dev/day02/example02_call_var02/add" "fmt" ) func main(){ add.Var_test() // 先调用 该函数来对变量 Name 和 Age 进行初始化 fmt.Println("Name=",add.Age) } add.go 文件: package add var Name string var Age int func Var_test(){ // 首字母要大写 Name = "hello world" // go 是编译型语言,所有的执行语句都要放到函数里面(赋值/初始化也是执行语句) Age = 10 } # 错误示例: main.go 文件内容: package main import ( "go_dev/day02/example02_call_var03_err/add" "fmt" ) function main(){ fmt.Println("Name=",add.Age) } add.go 文件内容: package add var Name string var Age int Name = "hello world" // go 是编译型语言,所有的执行语句都要放到函数中作为入口 Age = 10 示例3:包别名的应用:开发一个程序,使用包别名来访问包中的函数 # main.go示例如下: package main import ( a "go_dev/day02/example02_call_var01/add" // 给go_dev/day02/example02_call_var01/add这个名起一个别名 a "fmt" ) func main(){ fmt.Println("Name=",a.Name) // 使用包的别名来调用包中的函数 fmt.Println("Age=",a.Age) } 示例4:每个源文件都可以包含一个 init? 函数,这个init函数自动被go运行框架调用。写一个程序演示这个功能 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |