Go-2:Go语言的基础学习

Go 语言的基础组成有以下几个部分:

  • 包声明
  • 引入包
  • 函数
  • 变量
  • 语句 & 表达式
  • 注释

基础语法及go特有语法测试:

// 注释
/*
注释
 */

// 包名
package main

// 引用包
import "fmt"

// 全局变量
var globalString = "全局变量"
// 函数
func main() {
   var helloString = "Hello, World!"
   fmt.Println(helloString)
   println("全局变量:",globalString)
   // 无值,取默认变量声明
   var a int8
   fmt.Println("变量a:", a)
   var b ,c int8 = 12,1
   fmt.Println("变量b:", b)
   fmt.Println("变量c:", c)
   fmt.Println("变量b+c:", b+c)
   var d=true
   fmt.Println("boolean",d)
   f:=10
   fmt.Println("省略var:",f)
   helloString,a,b,c="helloGo",1,2,3
   // 多变量一起赋值
   // 省略var->编译器自动推断
   // 变量声明 自动判定类型
   // 多个变量声明 b=12 c=1
   fmt.Println(helloString, a,b,c)

   // 判断语句
   if c== 3{
      println("数据c的值是3")
   }else{
      println("数据c的值不是3")
   }

   /*
   go 特有的select 语法
   每个 case 都必须是一个通信
   所有 channel 表达式都会被求值
   所有被发送的表达式都会被求值
   如果任意某个通信可以进行,它就执行,其他被忽略。
   如果有多个 case 都可以运行,Select 会随机公平地选出一个执行。其他不会执行。
   否则:
   如果有 default 子句,则执行该语句。
   如果没有 default 子句,select 将阻塞,直到某个通信可以运行;Go 不会重新对 channel 或值进行求值。
   */
   var c1, c2, c3 chan int
   var i1, i2 int
   select {
   case i1 = <-c1:
      println("received", i1, " from c1\n")
   case c2 <- i2:
      println("sent", i2, " to c2\n")
   case i3, ok := (<-c3): // same as: i3, ok := <-c3
      if ok {
         println("received", i3, " from c3\n")
      } else {
         println("c3 is closed\n")
      }
   default:
      println("no communication\n")
   }
   paramA := "参数A"
   paramB := 10
   println("返回:",function_name(paramA,paramB))
   println("运行后参数:",paramA,paramB)
}

func function_name(a string,b int) int {
   println("参数:",a,b)
   a="改变A"
   b=12
   println("全局变量:",globalString)
   return 1
}

结果:

GOROOT=C:\Go #gosetup
GOPATH=C:\Go\bin #gosetup
C:\Go\bin\go.exe build -i -o C:\Users\TWH-PC\AppData\Local\Temp\___go_build_HelloWorld_go.exe D:\GO_WorkSpaces\HelloWorld.go #gosetup
C:\Users\TWH-PC\AppData\Local\Temp\___go_build_HelloWorld_go.exe #gosetup
Hello, World!
变量a: 0
变量b: 12
变量c: 1
变量b+c: 13
boolean true
省略var: 10
helloGo 1 2 3
全局变量: 全局变量
数据c的值是3
no communication

参数: 参数A 10
全局变量: 全局变量
返回: 1
运行后参数: 参数A 10

Process finished with exit code 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值