Go语言基础(1)| 青训营笔记

53 阅读2分钟

Golang 的语言特点

  1. Go语言保证了既能达到静态编译语言的安全性能,又达到了动态语言开发维护的高效率
  2. 引入包的概念,Go语言的一个文件要在一个包里,不能单独存在。
  3. 垃圾回收机制,内存自动回收天然开发
  4. 函数可以返回多值 等等

基础数据类型

声明变量

  1. var 变量名 数据类型

变量赋值

  1. var 变量名 数据类型 = 数值
  2. 变量名 := 数值

整数型

  1. 有符号整型:int,int8,int32,int64
  2. 无符号整型:uint,uint8,uint32,uint64
  3. byte 一个字节,rune 一个中文占据的字节

浮点型

  1. float32,float64

字符类型

  1. 存储单个类型常用byte存储。
  2. Golang中字符串是由字节组成
  3. Go语言的编码由UTF-8编码,英文对应单个字节,中文对应3个字节

布尔类型

  1. 布尔了类型也叫bool类型,只有turefalse两个值
  2. 占一个字节
  3. 常用于 if和for语句

string类型

  1. Go的字符串是由单个字节连接起来的
  2. 双引号或单引号来引用

基本数据类型的默认值

  1. 整型:0
  2. 浮点型:0
  3. 字符串:""
  4. bool:false

基本数据类型的相互转换

var i int32 = 10
var n1 int64 = int64(i)
var n2 float32 = float32(i)
fmt.Printf("i type is %T\n",i)
//输出:i type is int32
fmt.Printf("i=%v,n1=%v,n2=%v",i,n1,n2)
//输出:i=10,n1=10,n2=10
  1. 不同类型的数值不能进行运算
var i int32 = 10
var n1 int64 = 20
var n2 int64
n2 = n1+i  这句编译会报错因为他们的类型不同 
  1. 需改一下就可以执行
var i int32 = 10
var n1 int64 = 20
var n2 int64
n2 = int64(i)+int64(n1)
//这样就可执行

基础数据类型和string类型的转换

  1. 直接上代码
  2. 用到了Sprintf函数
var num int = 33
var num1 float32 = 10.5
var num2 bool = ture
var str string
str = fmt.Sprintf("%d\n",num)  Sprint函数是把数值生成格式化字符串
fmt.printf("str type is %T str = %q\n",str,str)

str = fmt.Sprintf("%d\n",num1) 
fmt.printf("str type is %T str = %q\n",str,str)
str = fmt.Sprintf("%d\n",num2) 
fmt.printf("str type is %T str = %q\n",str,str)
//此时它们的类型都变成了 string

欲知后事如何,且听下回分解,请诸位移步到我的下一篇笔记