golang学习笔记

栏目: Go · 发布时间: 5年前

内容简介:刚接触到golang,看了很多书,但是感觉不动手,永远就只是会一个Hello,world。为了激励自己,特意创建一个学习笔记,希望也有人可以和我一起努力,一起进步。每个go程序都是由包构成的,程序从main包开始运行

刚接触到golang,看了很多书,但是感觉不动手,永远就只是会一个Hello,world。

为了激励自己,特意创建一个学习笔记,希望也有人可以和我一起努力,一起进步。

每个 go 程序都是由包构成的,程序从main包开始运行

注意: 此程序的运行环境是固定的,因此 rand.Intn 总是会返回相同的数字。

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    fmt.Println("My favorite number is", rand.Intn(10))
}
//My favorite number is 1

导入

导入包的时候,可以使用圆夸号的方式进行,这是一种分组的方式导入

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))
}
//Now you have 2.6457513110645907 problems.

也可以使用编写多个导入语句的方式进行,例如

import "fmt"
import "math"

但是使用分组导入的方式效率会更高。

导出名

在Go中,如果一个名字以大写字母开始,那么它就是已导出的。而你在导入一个包的时候,只可以引用已经导出的包。例如,下面的代码即将报错。

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math.pi)
}
/*
   # command-line-arguments
  ./test.go:9:14: cannot refer to unexported name math.pi
  ./test.go:9:14: undefined: math.pi
 */

如果你将pi改成Pi,则不会报错

package main

import (
    "fmt"
    "math"
)

func main() {
  fmt.Println(math.Pi)
}
//3.141592653589793

函数

  1. 函数可以没有参数或者接受多个参数。

    例如:

    package main
    
    import "fmt"
    
    func add(x int, y int) int {
       return x + y
    }
    
    func main(){
       fmt.Println(add(10,11))
    }
    //21

如果在函数申明的几个参数,类型相同,则可以省略操作

func add(x, y int) int {
  return x + y
}
  1. 多值返回

    函数可以返回任意多个值。如下所示:

    package main
    
     import "fmt"
    
     func swap(x, y string)(string, string) {
         return y, x
     }
     func main(){
         a, b := swap("one", "two")
         fmt.Println(a, b)
     }
     //two one
  2. 命名返回值

    go的返回值可以被命名

    没有参数的return 会返回已经命名的返回值

    package main
    
     import "fmt"
    
     func split(sum int) (x, y int) {
         x = sum * 4 / 9
         y = sum - x
         return 
     }
    
     func main() {
         fmt.Println(split(17))
     }
     //7 10

变量

使用var声明,用于声明一个变量列表,例如

var c, python, java bool

未完待续


以上所述就是小编给大家介绍的《golang学习笔记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Big C++中文版

Big C++中文版

霍斯特曼 / 姚爱红 / 电子工业 / 2007-3 / 85.00元

本书是一本关于C++的优秀教材,南圣何塞州立大学知名教授Horstmann编写。全书深入探讨了C++的知识,并着重强调了安全的标准模板库;本书较厚,但它可用做程序设计专业学生的教材(两学期)。全书在介绍基础知识后,作者论及了一些高级主题。书中面向对象的设计一章探讨了软件开发生命周期问题,给出了实现类关联的实用提示。其他高级主题包括模板,C++标准模板库,设计模式,GUI,关系数据库以及XML等。本......一起来看看 《Big C++中文版》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具