Go基础1

Posted 荆南山砍柴人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go基础1相关的知识,希望对你有一定的参考价值。

package main

//  模块导入 import (  "fmt"  "time"  "math/cmplx"  "math" )


 

// 类型写在变量后面 func add(x int, y int) int{  return x + y }


 

// 参数类型一样的话,可以只使用一个 func add2(x, y int) int {  return x + y }


 

// 交换字符串,可以返回多个值 func swap(sx, sy string) (string, string){  return sy, sx }


 

func split(sum int) (x, y int){  x = sum * 4 / 9;  y = sum - x  return }

//  变量声明,直接 var i int = 1 或者 x := 2

func var_declare(){  var i, j int = 1, 2  x, y := 3, 4  var c, python, java = true, false, "1no"  fmt.Println(i, j, c, python, java, x, y) }


 

//  基础类型

var (  ToBe bool = false  MaxInt uint64 = 1<<64 - 1  z complex128 = cmplx.Sqrt(-5 + 12i) )

func basic_types(){  const f = "%T(%v)\n"  fmt.Println(f, ToBe, ToBe)  fmt.Println(f, MaxInt, MaxInt)  fmt.Println(f, z, z) }


 

// zero values 零值

func zero_values(){  var i int  var f float64  var b bool  var s string  fmt.Println("%v %v %v %q\n", i, f, b, s) }


 

// type conversions 类型转换 , 类型转化前必须显式添加类型转换

func type_conversion(){  var x, y int = 2, 6  var f float64 = math.Sqrt(float64(x*x + y*y))  var z uint = uint(f)  fmt.Println(f, z) }


 

// for 循环,Go只有for一种循环 

 func sum(){  sum := 0  for i := 0; i < 10; i++ {   sum += i  }  fmt.Println("the sum is ", sum) }

// 前置条件和后置条件都可以为空

func sum2(){  sum := 1  for ; sum < 1000; {   sum += sum  }  fmt.Println(sum) }

// go中循环只有for,可以用for实现其他语言中while的功能

func go_while(){  sum := 1  for sum < 100{   sum += sum  }  fmt.Println(sum) }

//无限循环

func infinite_loop(){  for{   // 无限循环  } }


 

// if语句 func sqrt(x float64) string{  if x < 0 {   return sqrt(-x) + "i"  }  return fmt.Sprint(math.Sqrt(x)) }

func print_sqrt(){  fmt.Println(sqrt(2), sqrt(-6)) }

 


 

func main(){  

fmt.Printf("hello world\n")

 fmt.Println("----current_time is ", time.Now())  

fmt.Println(math.Pi)  

fmt.Println(add(10,6))

 fmt.Println(add2(3,6))  a, b := swap("hello", "world")

 fmt.Println(a,b)

 fmt.Println(split(17))

 var_declare()

 basic_types()

 zero_values()

 type_conversion()

 sum()  

sum2()

 print_sqrt()

 // infinite_loop()

}

 

以上是关于Go基础1的主要内容,如果未能解决你的问题,请参考以下文章

1Go语言基础之变量和常量

Go基础数据库编程

链技术go语言基础知识-数据类型变量和常量

go学习 1go run 命令

1go基本语法

Go语言学习资料汇总