来源:自学PHP网 时间:2019-08-07 16:47 作者:小飞侠 阅读:次
[导读] go语言学习之包和变量详解...
|
前言 本文主要介绍了关于go语言之包和变量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、包的概念 包是go语言中不可缺少部分,在每个go源码的第一行进行定义,定义方式是:package "包名",并且该名称是作为调用该包时候所使用的名称。 包的概念总结:
二、包的引入 1.包引入的方法 方法一: import "fmt" import "os" 方法二: import "fmt"; import "os" 方法三(推荐!) import ( "fmt" "os" ) 2.引入其他包 go语言中,引入包的路径是根据GOPATH/src 这个环境变量作为相对路径进行引入的,如果GOPATH存在多个,那么go将逐一寻找路径,直到找到,若GOPATH/src未找到则编译出错。 示例: 我的GOPATH为:C:\Users\17647\Desktop\go_work\src 首先建立包文件1:C:\Users\17647\Desktop\go_work\src\day02\eg1\pkg.go(相对于GOPATH/src的路径为day02\eg1\pkg.go) 内容如下:
package add
import "fmt"
func Sum(a int,b int) {
var c int
c = a + b
fmt.Println("res",c)
}
在main进行引入如下:
package main
import (
"fmt"
"day02/eg1" /* 引入包 */
)
func main() {
add.Sum(2,3) /* 调用包 */
fmt.Println("Hello, World!")
}
图示:
二、变量 1.单个变量的声明 go语言中,所有变量都必须先声明在使用,下面是声明变量和赋值方法:
示例:
package main
import "fmt"
func main() {
var a string /* 声明一个变量名为a,类型为字符串的变量 */
a = "wd" /* 对a变量赋值*/
var age int = 22 /* 声明并赋值变量 */
fmt.Println(a,age)
}
2.多个变量声明
示例:
package main
import "fmt"
func main() {
var a,b int
a,b = 1,2
var c,d = 3,"wd" /* 类型自动推断 */
e, f := 4, "hello" /* 简写 */
fmt.Println(a,b,c,d,e,f)
}
使用var()声明
package main
import "fmt"
func main() {
var (
a int //默认值为0
b string // 默认值为空字符串("")
c = 3
)
fmt.Println(a,b,c)
}
3.变量名 命名原则:
4.可见性 可见性即对包外可见,当其他包调用当前包的变量时候是否允许可见(可访问)。
5.变量的作用域
三、常量 常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 定义常量语法:
多个常量定义语法: const ( a = 0 //类型自动推倒 b = 1 c = 2 ) iota解释: iota,特殊常量,可以认为是一个可以被编译器修改的常量。 在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。 iota 可以被用作枚举值: const ( a = iota b = iota c = iota ) 第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式: const ( a = iota b c ) 用法:
package main
import "fmt"
func main() {
const (
a = iota //0
b //1
c //2
d = "ha" //独立值,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //8
)
fmt.Println(a,b,c,d,e,f,g,h,i)
}
总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对自学php网的支持。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com