go编程学习

语言: CN / TW / HK

1.go 项目目录结构

2.go build生成二进制文件

go build hello.go

go build -o hellotest hello.go #可以指定二进制文件名

3.go run 以脚本形式运行

go run hello.go

4.定义变量方法

package main

import "fmt"

//全局声明

var n1 = 100

var n2 = 200

var name = "xiaohuihui"

//一次性声明

var (

n3 = 300

n4 = 900

name2 = "mary"

)

func main(){

var i int
fmt.Println("i=",i) //默认值0

var num = 10.11
fmt.Println(num)

name := "tom" //等价于 var name string name = "tom"

fmt.Println(name)

var n1, n2, n3 int //多变量声明

fmt.Println(n1,n2,n3)

var a, b, c = 100, "tom", 111
fmt.Println(a,b,c) //a = 100,b="tom",c=111

//类型推导
a, b, c := 100, "tom", 111
fmt.Println(a,b,c)  //a = 100,b="tom",c=111

}

5.变量注意

package main

import "fmt"

func main(){

var i int = 10

i = 30

// 只能同一类型不断变化 不正确赋值i = "50"

//var i int = 50 //变量在同一作用域不能重名

}

6.加号运算

package main

import "fmt"

func main(){

var a,b int = 1,2
var resp int
resp = a + b
fmt.Println(resp)

var str1 = "gello"
var str2 = "world"
var res = str1 + str2
fmt.Println(res)

}

7.整数,有符号整数类型int int8,int16,int32,int64 ,无符号整数uint,uint8,uint16,uint32,uint64

package main

//import "fmt"

import (

"fmt"

"unsafe"

)

func main(){

var j int8 = -128  //int8 占1个字节,1个字节占8个bit  小于-128回报错
fmt.Println(j)

var i uint8 = 255 //uint 大于255回报错 0~255
fmt.Println(i)

var c byte = 255 // byte范围0~255,经常用来存字母
fmt.Printf("j 的类型%T", j) //Printf格式化输出变量类型
fmt.Printf("j 的类型%T, 占用字节数%d", j, unsafe.Sizeof(j))

}

8.浮点型float32单精度,占用4个字节,float64双精度(默认使用64),占用8个字节,浮点数都是有符号的

package main

import (

"fmt"

)

func main(){

var price float32 = 89.123
fmt.Println(price)
var num1 float32 = -89.11111111111 //精度损失
var num2 float64 = -123.19100002333
fmt.Println(num1)
fmt.Println(num2)
var num3 = 1.1
fmt.Printf("num3数据类型 %T\n",num3)

//科学计数法表示小数
num4 := 5.1234566e2
fmt.Println(num4)

}

注:

1.go语言入口是main函数

2.go语言严格区分大小写

3.go方法由一条一条语句构成,每条语句会自动加分号

4.go是一行一行编译因此一行一条语句,否则编译报错

5.go定义的变量或引入的包必须用到,否则报错

6.大括号成对出现

分享到: