GO语言1.1(数据类型+基本语法入门)

我的想法

go语言这几年比较流行,然后因为我自己也才大二,所以趁着现在比较多的时间,就尽量的扩大自己的接触面,然后寻找到一个比较适合自己的计算机领域的学习方向,然后博客呢就是相当于一个学习笔记,回头要是用得到就拿出来看看,也给大家参考参考。

Go语言语法规则

package main
import "fmt"
func main() {
   fmt.Print("Hello Go")  
}

每次学一个新的语言都先hello一下以示敬意,然后有点像Java和python的结合版,比Java简约比python繁杂,二者之间,然后效率上也是比python快比c++慢,刚好可以把二者很好的结合到一块,构建后台、区块链用到的比较多。

 package main

一个文件夹下只能有一个main。

 func main()

相当于 c++ 的int main()主函数的入口。

变量与数据类型

定义一个变量跟JavaScript比较像但稍有区别

var a = 10 //js
var a int = 10 //golang

var之后跟上变量名称,然后如果想赋值的话紧接着在后面赋值,当然不赋值也是可以的。

变量自动推倒

package main
import "fmt"
func main() {
   a:=10
   fmt.Println("a = ",a)
   fmt.Printf("%T",a)   // 打印变量的类型用 %T
}

在这里插入图片描述
汲取了python的优势,不需要对变量的类型进行说明但是直接赋值的话它会帮你检测出来是什么类型的变量。

当然如下的定义方式也是可以被接受的。

func main() {
   var(
      a int = 10
      b float32 = 3.14 // 支持自动推倒
      a := 10
   )
   fmt.Println(a,b)
}

printf、println、print区别

当然上面的输出出现了两种,**printf**和**println**很容易理解,一种是java风格输出换行,一种是c语言风格的格式化输出。

常量 const
常量不可修改

const i int = 5

iota枚举package main

import "fmt"

func main() {
   const i int = 5
   // iota 枚举变量自增
   const(
      a = iota
      b
      c
   )
   fmt.Println(a,b,c)
   // 遇到const重置
   const d = iota
   fmt.Print(d)
}

bool型变量

func main() {
   var a bool = true
   b := false
   c := (1==2)
   fmt.Println(a,b,c)
}
三种创建bool类型变量的方式都支持。

整型

package main

import "fmt"

func main() {
   var v1 int32
   v1 = 123
   v2 := 456
   fmt.Println(v1,v2)
}
int是有符号的整形,uint是无符号整形,相当于c语言 unsign int

浮点型

package main

import "fmt"

func main() {
   var v1 float32
   v1 = 123.123
   v2 := 456.456
   fmt.Println(v1,v2)
}

内存分配
在定义变量的时候会有 int,int32,int64,float,float32,float64。我们用一个包来查看一下所占的字节。

 package main

import (
   "fmt"
   "unsafe"
)

func main() {
   var a int
   var b int32
   var c int64
   fmt.Println(unsafe.Sizeof(a),unsafe.Sizeof(b),unsafe.Sizeof(c))
}

结果如下:
在这里插入图片描述
有一点比较好,写代码的时候我们不需要去担心某个包未导入,goland会自动给我们导入,比较强大,然后看运行结果,int 8字节这个与我们的计算机的位数有关,我的是64为的自然就是8个字节,如果声明了int32就是4个字节,当然也有int8 2个字节的变量声明,float也是同理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值