普通视图

发现新文章,点击刷新页面。
昨天以前Y Blog

Go语言学习笔记(一)

作者 Young143
2024年8月16日 16:10

前言

我一直
有个编程梦所以就趁着这个暑假的空闲时间来学习,以下为学习笔记,目前比较基础.

第一段代码

package main //声明所在的包,每个go文件都要有归属的包
import "fmt"//引包,为了使用包下的函数
func main(){//main 主函数 程序的入口
    fmt.Println("helloword")//在控制台打印输出一段话
}

语法注意

1.源文件以"go"为扩展名

2.程序执行入口为main()函数

3.严格区分大小写

4.方法由一条条语句组成每条语句不用加分号

5.定义的函数或import未使用无法过编译.

6.大括号成对出现,不可缺少

Golang数据类型

基本数据类型

  • 数值型

    • 整数类型(int.int8,int16,int31,int64,uint,uint8,uint16,uint32,uint64,byte)

      有符号数据类型:

      类型占用空间表示范围
      int81字节-$2^7$ ~ $2^7$ -1 (-128~127)
      int162字节-$2^{15}$~$2^{15}$-1(-32768~32767)
      int323字节-$2^{31}$~$2^{31}$-1
      int644字节-$2^{64}$~$2^{63}$-1

      无符号数据类型:

      类型占用空间表示范围
      uint81字节0~255
      uint162字节0~$2^{16}$-1
      uint323字节0~$2^{32}$-1
      int644字节00~$2^{64}$-1

      其它

      类型有无符号占用空间表示范围
      int32位系统
      64位系统
      -$2^{31}$~$2^{31}$-1
      -$2^{64}$~$2^{63}$-1
      uint32位系统
      64位系统
      0~$2^{32}$-1
      0~$2^{64}$-1
      rune等价int32-$2^{31}$~$2^{31}$-1
      byte等价uint80~255

      注:Golang的整数类型默认声明为int

    • 浮点类型(float32,float64)

      类型存储空间表示范围
      float324字节-3.403E38~-3.403E38
      float648字节-1.798E308~1.798E308

      *注:浮点类型底层存储:符号位+指数位+尾数位,所以尾数位只存了一个大概,可能有精度损失

  • 字符型(无单独的字符型,用byte表示单个字母字符)
    *注:汉字对应为unicode码值,byte存不下溢出可使用int
    可用"+"拼接,切分换行时加号保留在上一行最后

    ascii

    package main
    
    import "fmt"
    
    func main() {
        var z int = '中'
        var a byte = 'a'   //97
        fmt.Println(a + 9) //97+6
        fmt.Println(z)
    }
    • 转义字符

  • 布尔型(bool)
    取值:true/false
    占用一个字节
  • 字符串(string)

    字符串一旦定义好字符的值不可变

    内容表示用双引号,字符串内有特殊字符用反引号

    package main
    
    import "fmt"
    
    func main() {
        var z int = '中'
        var a byte = 'a'   //97
        fmt.Println(a + 9) //97+6
        fmt.Println(z)
        fmt.Println("\a")
        var n string = `
        package main
    
        import "fmt"
    
        func main() {
            fmt.Println("helloword")
        }
        `
        fmt.Println(n)
    }

派生数据类型/复杂数据类型

  • 指针
  • 数组
  • 结构体
  • 管道
  • 函数
  • 切片
  • 接口
  • map

变量

介绍:相当于内存中一个数据存储空间的表示

变量的使用

1.声明

2.赋值

3.使用

package main
import "fmt"
//定义在{}外的位全局变量
var n0 int = 18
//一次性声明多个
var(
    n9 int = 1
    n10 int =2

)
func main(){
    //定义在{}内的位局部变量
    //四种使用方法
    var num1 int = 18
    fmt.Println(num1)
    
    var num2 int //为负值为默认值
    fmt.Println(num2)

    var num3 = 1.8 //类型推断
    fmt.Println(num3)

    sex := "男"//省略var用:=
    fmt.Println(sex)
    //一次声明,赋值四个变量
    var n1,n2,n3 int
    var n4,n5,n6 = 1,"test",2.3
    n7,n8 := 1,1
    fmt.Println(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10)
}

运算符

算数运算符

+,- ,\*,/,%,++,--

package main

import "fmt"

func main() {
    //+加号
    //1.正数 2.相加操作 3.字符串拼接
    fmt.Println(+10)
    fmt.Println(1 + 1)
    fmt.Println("hello" + "world")

    ///除号
    //int除int输出为int
    fmt.Println(7 / 4)
    //有float输出为float
    fmt.Println(7.0 / 3)

    //%取模 取余数
    fmt.Println(7 % 3)

    //++自加加1 --自减减1
    //只可单独使用,不可参与运算
    //只可放在变量后
    a := 6
    a++
    fmt.Println(a)
    a--
    fmt.Println(a)
}

赋值运算符

关系运算符

逻辑运算符

下表列出了所有Go语言的逻辑运算符。假定 A 值为 True,B 值为 False。

image-20240816155804673

其他运算符

  •  

说说:#1721559731

作者 Young143
2024年7月21日 19:02

虽然考的不算太好至少对的起这一年的努力了😌
也算是上岸了🤗
{cat_gallery}



{/cat_gallery}

  •  
❌
❌