• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go语言学习(二)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.go语言基本数据类型

2.变量的定义

3.多重复制,匿名变量

4.常量的定义,使用

5.类型转化

6.条件结构,循环结构


一、go语言基本数据类型

1.整型


rune 类型是 Unicode 字符类型,和 int32 类型等价,通常用于表示一个 Unicode 码点。rune 和 int32 可以互换使用。

byte 是uint8类型的等价类型,byte类型一般用于强调数值是一个原始的数据而不是 一个小的整数。

其中常用的就是int。

2.浮点型

Go语言提供了两种精度的浮点数,float32和float64。它们的算术规范由IEEE754浮点数国际标准定义, 该浮点数规范被所有现代的CPU支持。

3.布尔型

一个布尔类型的值只有两种:true和false。if和for语句的条件部分都是布尔类型的值,并且==和<等比 较操作也会产生布尔型的值。

4.字符串

一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,包括byte值0,但是通常是用来包 含人类可读的文本。

5.此外还有枚举型,复数类型

二、变量的定义

1.go语言中定义变量语法与其他语言不同 var 变量名 类型 = 值

package main

import "fmt"

func main() {
    var i int = 5 //声明一个整型并赋值  var  变量名 类型 = 
    fmt.Println("i = ", i)

    var b bool = false //申明一个布尔型并赋值
    fmt.Println("b = ", b)

    var f float64 = 3.14 //申明一个浮点型并赋值
    fmt.Println("f = ", f)

    var s string = "2018年5月2日" //申明一个浮点型并赋值
    fmt.Println("s = ", s)

    var c byte = 'c' //申明一个字符型并赋值
    fmt.Println("c = ", c)
    fmt.Printf("c = %c \n", c) //使用fmt.Printf 格式化输出打印字母c

    //基本数据类型默认值
    var i_1 int
    fmt.Println("i_1 = ", i_1) //0

    var b_1 bool
    fmt.Println("b_1 = ", b_1) //false

    var f_1 float64
    fmt.Println("f_1 = ", f_1) //0

    var s_1 string
    fmt.Println("s_1 = ", s_1) //空字符串

    var c_1 byte
    fmt.Println("c_1 = ", c_1) //0
}

2.变量的其他赋值方式

package main

import "fmt"

func main() {
    //连续赋值
    var a, b, c, d int = 1, 2, 3, 4
    fmt.Printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d)

    //多重赋值
    var (
        a0 int
        f0 float64
        b0 bool
        s0 string
        c0 byte
    )
    fmt.Printf("a0 = %v\nf0 = %v\nb0 = %v\ns0 = %v\nc0 = %v\n", a0, f0, b0, s0, c0) //%v 可自动匹配类型

    // := 自动推到类型,声明变量的同时赋值
    x := 11
    y := 3.1415926
    z := "Hello Go"

    fmt.Printf("x = %v\ny = %v\nz = %v\n", x, y, z)
    fmt.Printf("x = %T\ny = %T\nz = %T\n", x, y, z) //%T 打印数据类型
}

三、类型转换

package main

import (
    "fmt"
    "strconv"
)

func main() {

    f := 3.14
    i := int(f)
    fmt.Println(i)

    b := true //定义一个布尔型变量b
    fmt.Printf("b = %v\n", b)

    //%d 匹配类型为整形,打印结果为b = %!d(bool=true)
    //    fmt.Printf("b = %d\n", b)
    //布尔类型与整型不能相互转换
    //    fmt.Printf("b = %d\n", int(b)) //cannot convert b (type bool) to type int

    s := "2018"
    //func Atoi(s string) (i int, err error)
    //使用_匿名变量,忽略第二个返回值
    x, _ := strconv.Atoi(s) //i声明为整型,使用strconv.Atoi函数将字符串转换为int
    fmt.Printf("x = %d\n", x)

    // ParseFloat 将字符串转换为浮点数
    // s:要转换的字符串
    // bitSize:指定浮点类型(32:float32、64:float64)
    // 如果 s 是合法的格式,而且接近一个浮点值,
    // 则返回浮点数的四舍五入值(依据 IEEE754 的四舍五入标准)
    // 如果 s 不是合法的格式,则返回“语法错误”
    // 如果转换结果超出 bitSize 范围,则返回“超出范围”
    //func ParseFloat(s string, bitSize int) (f float64, err error)
    f1, _ := strconv.ParseFloat("0.321646843164131647697", 64)
    fmt.Println("f1 = ", f1)
}

strconv  用法:https://studygolang.com/articles/5003

四、类型别名

package main

import "fmt"

func main() {
    type long int64

    var l long = 123          //就相当于 var l int64 = 123
    fmt.Printf("l = %T\n", l) //打印结果 l = main.long

}

给int64取了一个别名long,之后用long声明变量类型就相当于int64.

五、变量的输入

获取用户键盘输入数据,并赋值给变量

package main

import "fmt"

func main() {

    var a int //定义一个整数用来保存用户输入
    fmt.Println("请输入一个整数:")
    fmt.Scan(&a) //取a的地址将用户输入赋值给a
    fmt.Println("您输入的是:", a)
}

运行结果为:

六、if else 条件结构

package main

import "fmt"

func main() {
    i := 1

    if i == 1 {
        fmt.Println("i等于1")
    } else {
        fmt.Println("i不等于1")
    }

}

条件结构基本一样

七、循环结构

go语言中没有while关键字,所以go语言只存在for 循环。

package main

import "fmt"

func main() {

    //使用for循环10次,打印i的值
    for i := 0; i < 10; i++ {
        fmt.Println("Hello i = ", i)
    }

    var a int
    //
    for {
        fmt.Println("Hello a = ", a)
        a++
        if a == 10 {
            break //跳出循环,否则程序一直循环下去
        }
    }
}

两种for循环打印的结果相同

八、goto 的使用

package main

import "fmt"

func main() {

    fmt.Println("1111111111111111111111")

    goto End

    fmt.Println("2222222222222222222222")

End:
    fmt.Println("33333333333333333333333")
}

不使用goto的情况下,程序会1,2,3都打印,而使用goto后,程序会跳过goto之后的程序,执行用户定义的标签的地方,因此程序打印结果只有1和3。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言-整数类型发布时间:2022-07-10
下一篇:
Something About USB On-The-Go发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap