go语言学习之包和变量详解

发布时间:2020-08-24 17:28:19 作者:W-D
来源:脚本之家 阅读:104

前言

本文主要介绍了关于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!")
}

图示:

go语言学习之包和变量详解

二、变量

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.变量名

命名原则:

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

4.可见性

可见性即对包外可见,当其他包调用当前包的变量时候是否允许可见(可访问)。

 5.变量的作用域

三、常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

定义常量语法:

const 名称 类型 = value

多个常量定义语法:

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)
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对亿速云的支持。

推荐阅读:
  1. Swift学习笔记_变量和常量
  2. python学习之模块与包

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

go语言 变量

上一篇:python实现杨氏矩阵查找

下一篇:mysql是否安装成功怎样判断

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》