• 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 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) "  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 ", 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 ")

     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()

    }

  • 相关阅读:
    洛谷P1084 [NOIP2012提高组Day2T3]疫情控制
    洛谷P1083 [NOIP2012提高组Day2T2]借教室
    洛谷P2736 “破锣摇滚”乐队 Raucous Rockers
    POJ1692 Crossed Matchings
    洛谷P1315 [NOIP2011提高组Day2T3] 观光公交
    阅读了几个别人写的轮播源码
    js遍历函数
    解决IE6的PNG透明
    04-树5 Root of AVL Tree
    平衡树实现
  • 原文地址:https://www.cnblogs.com/Wolfanature/p/5827931.html
Copyright © 2020-2023  润新知