Go编程基础
package 别名
当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用
1 //当前程序的包名 2 package main 3 4 //导入其他的包 5 import "fmt" 6 7 //常量的定义 8 const PI = 3.14 9 10 //全局变量的声明与赋值 11 var name = "demon" 12 13 //一般类型声明 14 type newType int 15 16 //结构的声明 17 type gopher struct { 18 19 } 20 21 //接口的声明 22 type golang interface { 23 24 } 25 26 //由main函数作为程序入口点启动 27 func main() { 28 fmt.Println("hello,world") 29 }
Go的基本类型
- 布尔型:bool
- 长度:1字节
- 取值范围:true,false
- 注意事项:不可以用数字标识true或者false
- 整形:int/uint
- 根据运行平台可能为32或者64位
- 8位整数:int8/uint8
- 长度:1字节
- 取值范围:-128~127/0~255
- 字节类型:byte(uint8别名)
- 复数:complex64/complex128
- 长度:8/16字节
- 足够保存指针的32位或64位整数型:uintptr
- 其他值类型:
- array、struck、string
- 引用类型:
- slice、map、chan
- 接口类型:inteface
- 函数类型:func
类型零值
零值并不等于空值,而是当变量被声明为某种类型后的默认值,通常情况下值类型的默认值为0,bool为false,string为空字符串
来点小栗子~~举个栗子!
1 package main 2 3 import ( 4 "fmt" 5 //"math" 6 ) 7 8 type( 9 byte int8 //byte是int8这个类型的别名,下面都是同理 10 rune int32 11 文本 string 12 ) 13 14 func main() { 15 //fmt.Println(math.MaxUint32) 16 var b 文本 //声明一个变量b 17 b = "中文类型名" //给变量b赋值 18 fmt.Println(b) //输出变量b的 19 }
单个变量的声明与赋值
- 变量的声明格式:var <变量名称> <变量类型>
- 变量的赋值格式:<变量名称> = <表达式>
- 声明的同时赋值:var <变量名称> [变量类型] = <表达式>
栗子,好吃的大栗子~
多个变量的声明与引用
- 全局变量的声明可使用 var()的方式进行缩写
- 全局变量的声明不可以省略var,但是可使用并行方式
- 所有变量都可以使用类型推断
- 局部变量不可以使用var()的方式简写,只能使用并行方式
举个栗子,好吃的大栗子
栗子①
栗子②
变量的类型转换
- Go中不存在隐式转换,所有类型转换必须显式声明
- 转换只能发生在两种相互兼容的类型之间
- 类型转换的格式:
<ValueA> [:] = <TypeOfValueA>(<ValueB>)
小栗子~
常量的定义
- 常量的值在编译时就已经确定
- 常量的定义格式与变量基本相同
- 等号右侧必须是常量或者常量表达式
- 常量表达式中的函数必须是内置函数
举个栗子~
栗子①
栗子②