go概述

2018-10-30  本文已影响0人  ArtioL

源文件

源码文件使用utf-8编码,对Unicode支持良好,每个源文件都属于包的一部分,在文件头部使用package声明所属包名称
test.go

package main

import {
  "fmt"
}
func main(){
  fmt.println("hello, world")
}

未使用的导入,未使用的变量等,go会进行检查,编译器会将其当做错误

变量

使用var定义变量,支持类型推断.基础类型数据划分明确,有助于编写跨平台应用.编译器确保变量总是被初始化为零值,避免出现意外状况

package main

func main(){
  var x int32
  var s = "hello, world"
  println(x, s)
}

在函数内部,还可以省略var关键字,使用更简单的定义模式

package main

func main(){
  x := 100 // 类型推导
  println(x)
}

表达式

Go仅有三种流控制语句
if

package main
func main(){
  x := 100
  if x > 0{
    println("x")
  } else if x < 0 {
    println("-x")
  }else{
    println("0")
  }
}

switch

package main

func main(){
  x := 100
  switch  {
    case x > 0:
      println("x")
    case x <0:
      println("-x")
    default:
      println("0")
  }
}
package main

func main(){
  x := "y"
  switch  x {
    case "y":
      println("yes")
    case "n":
      println("not")
    default:
      println("nothing")
  }
}

for

func main(){
  for i:=0;i<5;i++{
    println(i)
  }
  for i:=4;i>0;i--{
    println(i)
  }
}
func main(){
   x:=0
  for x < 5{  //相当于whlie(x<5)  {...}
    print(x)
    x++
  }
}
func main(){
   x:=0
  for {  //相当于whlie(True)  {...}
    print(x)
    x--
    if x<0{
      break
    }
  }
}

函数

函数可定义多个返回值,设置对其命名

package main

import {
  "errors"
  "fmt"
}

func div(a, b int)  (int, errors){
  if b==0  {
    return 0, errors.New("division by zero")
  }
  return a/b, nil
}
上一篇 下一篇

猜你喜欢

热点阅读