go语言的学习记录day1

应用领域

  • 区块链(BT)应用:区块链是分布式的账本存储技术。特点是去中心化、公开透明并且不可篡改,每个人都可以参与数据库记录。
  • 后端服务器应用
  • 云计算/云服务后台应用

go语言的特点

  • 引入了垃圾回收机制(防止内存泄露)
  • 并发处理
  • 管道通信机制
  • 有静态语言的安全和高性能,有动态语言的开发维护的高效率
  • 函数可以有多个返回值
    例. 实现返回两个值
func SumAndSub(n1 int,n2 int)(int,int){
		sum := n1+n2
		sub := n1-n2
		return sum,sub
   }

func SumAndSub(n1,n2 int)(sum int,sub int){
		sum = n1+n2
		sub = n1-n2
		return 
   }

func SumAndSub()(sum int,sub int){
		n1 := 2
		n2 := 3
		sum := n1+n2
		sub := n1-n2
		return sum,sub
   }

注. 在go语言中不需要在代码后面加“;”,默认是自动加。数据类型写在变量之后。

主程序的写法:

 package main
 import “fmt”
 func main(){
	 fmt.println()
 }

func是关键字,表示一个函数,main是主函数,程序的入口。
go语言中的pakage需要是main,不然不能运行,fmt.println()是输出语句。

go语言的编译方法

  1. 源文件.go通过编译(go build)生成执行文件(.exe),再go run;
  2. 对源文件直接go run(一般不用,因为耗时较长)

区别:如果先编译生成了可执行文件,将该文件拷贝到没有go开发环境的机器上也可以运行。

常量/变量
const 常量(不可被重新赋值)
var 变量
可以一次性声明多个变量/常量,但是声明的变量都必须被使用,不然会报错

var/const{
	a = 1
	b = 2
    c = 3
}

但是全局变量是允许声明但不使用的。 同一类型的多个变量可以声明在同一行,如:

var a, b, c int

多变量可以在同一行进行赋值,如:

var a, b int
var c string
a, b, c = 5, 7, "abc"

上面这行假设了变量 a,b 和 c 都已经被声明,否则的话应该这样使用:

a, b, c := 5, 7, "abc"

声明变量

  1. 指定变量类型,如果没有初始化,则变量默认为零值。
    变量初始值:
    • 数值类型(包括complex64/128)为 0
    • 布尔类型为 false
    • 字符串为 “”(空字符串)
    例如:
// func main() {

    // 声明一个变量并初始化
    var a = "abc"
    fmt.Println(a)

    // 没有初始化就为零值
    var b int
    fmt.Println(b)

    // bool 零值为 false
    var c bool
    fmt.Println(c)
}
  1. 根据值自行判定变量类型。
//func main() {
    var a = 2
    fmt.Println(a)
}

  1. 省略 var, 但是 := 左侧如果没有声明新的变量,就会产生编译错误
    例如:
//var intVal int 

intVal :=1 // 这时候会产生编译错误

intVal,intVal1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句

使用iota定义常量
iota的初始值为0,后面的自动延用排头兵表达式,且iota逐一增加
例.输出123

// const{
		a1 = iota+1
		a2
		a3
		fmt.Println(a1+a2+a3)
}

数据的基本类型
主要有整型、浮点型、布尔型、字符串。
其中,整型的int32=rune,相当于char,unit表示无符号int(无负),uint8=byte

占位符(使用占位符时,要使用格式化输出:fmt.Printf(“%T”,变量名))

%T 类型占位符
%v 值占位符(覆盖任何类型)
%c 字符占位符
%d 数字占位符
%f 浮点型占位符
%s 字符串占位符

例.

// func main(){
   	  Var v1 = 123
   	  Var v2 = ‘小’
   	  fmt.Printf(“v1的类型是%T”,v1)
   	  fmt.Printf(“v2的值是%v”,v2)
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值