为了账号安全,请及时绑定邮箱和手机立即绑定

go语言学习笔记(二)

标签:
Go 区块链

一、go语言-变量和常量

   go语言用于声明变量的关键字var,以及用于声明常量的关键字const。要知道,绝大多数的数据类型的值都可以被赋给一个变量,包括函数。而常量则不同,它只能被赋予基本数据类型的值本身。

   变量和常量在声明方式方面也有所不同。我们可以在声明一个变量的时候直接为它赋值,也可以只声明不赋值。变量的声明并赋值方式如下:
// 注释:普通赋值,由关键字var、变量名称、变量类型、特殊标记=,以及相应的值组成。
// 若只声明不赋值,则去除最后两个组成部分即可。
var num1 int = 1
或:
var num2, num3 int = 2, 3 // 注释:平行赋值
或:
var ( // 注释:多行赋值
num4 int = 4
num5 int = 5
)
实例代码(1):

package main

import (
    "fmt"
)

func main() {
    var (
        num1 int
        num2 int
        num3 int
        num4 int    = 4
        num5 string = "abc"
        num6 int    = 3
    )
    num1, num2, num3 = 1, 2, 3
    // 打印函数调用语句。用于打印上述三个变量的值。
    fmt.Println(num1, num2, num3, num4, num5, num6)
}

go语言使用var关键字定义变量,使用const关键字定义常量。赋值
1、var num1 int = 1
2、var num1,num2 int = 1,2
3、var { num2 int = 4
num1 int =6
num3 int =7
}
4、var {
num1 int
num2 int
num3 int }
num1,num2,num3 = 1,2,3
实例代码(2):

package main

//声明变量,系统自行判断变量类型
var a = "go语言学习"

//指定变量类型,并赋值。如果不赋值,将会使用默认值
var b string = "我爱你啊"

//指定变量类型,不赋值
var c bool

//同时声明多个类型相同的变量,但不赋值
var x, y, z int

//同时声明多个类型相关的变量,并赋值
var e, f = 123, "go"

//这种因式分解关键字的写法一般用于声明全局变量
var (
    age  int = 20
    flag bool
)

func main() {
    /*(这种不带声明格式的只能在函数体中出现)
    省略var,注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
    */
    name := "go语言"

    println(a, b, c, name, x, y, z, e, f, age, flag)
}

实例代码(3):

//go语言常量语法
package main

import "fmt"
import "unsafe"

//常量用做枚举
const (
    name = "霜花似雪"
    age  = 20
    size = len(name)
    num  = unsafe.Sizeof(name)
)

func main() {
    //定义常量
    const HEIGHT int = 10
    const WIDTH int = 5
    //定义局部变量,并指定类型,但是没有赋值
    var area int
    //同时定义多个常量,并赋值
    const a, b, c = 1, false, "str"

    area = HEIGHT * WIDTH
    fmt.Print("面积为 :", area)
    println() //换行
    println(a, b, c)
    println()
    println(name, age, size, num)
}

二、go语言-整数类型
Go语言的整数类型一共有10个。

    其中计算架构相关的整数类型有两个,即:有符号的整数类型int和无符号的整数类型uint。

有符号的整数类型会使用最高位的比特(bit)表示整数的正负,它能表示的整数的范围有一定的损耗(使其缩小)。而无符号的整数类型会使用所有的比特位来表示数值,它的值均为正数。

在不同的计算架构的计算机之上,它们体现的宽度是不同的。宽度即指存储一个某类型的值所需要的空间。空间的单位可以是比特,也可以是字节(byte)。如图:
图片描述
图片描述
实例代码:

package main // 代码包声明语句

// 代码包导入语句
import (
    "fmt" // 导入代码包fmt。
)

// main函数
func main() { // 代码块由“{”和“}”包裹。

    // 变量声明和赋值语句,由关键字var、变量名num、变量类型uint64、特殊标记=,以及值10组成。
    var num uint64 = 65535

    // 短变量声明语句,由变量名size、特殊标记:=,以及值组成。
    size := (8)

    // 打印函数调用语句。在这里用于描述一个uint64类型的变量所需占用的比特数。
    // 这里用到了字符串的格式化函数。
    fmt.Printf("类型为 uint64 的整数 %d 需占用的存储空间为 %d 个字节。\n", num, size)
}

三、go语言-整数类型值的表示法
go语言整数的类型的宽度,决定了它的数值范围大小,如图:
图片描述
在go语言中采用10进制法表示整数。
var num1 int = 12 //10进制表示法
我们也可以使用8进制和16进制来表示整数。
num1 = 014 // 用“0”作为前缀以表明这是8进制表示法。
或:
num1 = 0xC // 用“0x”作为前缀以表明这是16进制表示法。
实例代码:

package main

import (
    "fmt"
)

func main() {
    // 声明一个整数类型变量并赋值
    var num1 int = -0x1000 //十六进制表示
    var num2 int = -4096   //十进制表示
    var num3 int = 014     //八进制表示

    // 这里用到了字符串格式化函数。其中,%X用于以16进制显示整数类型值,%d用于以10进制显示整数类型值。
    fmt.Printf("16进制数 %X 表示的是 %d。\n", num1, num1)
    fmt.Printf("num2是十进制表示法 %d\n", num2)
    fmt.Printf("num3是八进制表示法 %d\n", num3)
}

go语言输出格式说明:
输出时%X表示16进制,%d表示10进制
%E用于以带指数部分的表示法显示浮点数类型值,
%f用于以通常的方法显示浮点数类型值
%c用于显示rune类型值代表的字符
%q用于显示字符串值的表象值并用双引号包裹
%v 是输出bool类型的转义符

16进制:
它由0-9,A-F组成,字母不区分大小写
与10进制的对应关系是:0-9对应0-9;A-F对应10-15
N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F

go语言数值变量赋值,int类型默认是10进制表示,
var num1 int = 10 (默认10进制)
var num1 int = 010 (使用8进制表示,前缀是 0表示)
var num1 int = 0xC (使用16进制表示,前缀是0x)

好了,今晚就分享到这里,后续还会有更多学习笔记!希望与诸君共同学习,共同进步!

点击查看更多内容
7人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消