go语言编程

package 指明源文件所在的包

func 用于定义函数

go里面除了for循环的初始化用到;,其他大部分都不需要


go中没有while循环,不过可以利用 for condition来模拟while

 

编译:

go builde 编译的文件名

定义一个变量,比如字符串

var s string = ""

go也自动推导出类型

var s = "";

也可以 s:=""

:=用在值声明并且初始化

05    package main
 
07    import (
08        "os"
09        "flag"  // command line option parser
10    )
 
 
12    var omitNewline = flag.Bool("n", false, "don't print final newline")
 
 
14    const (
15        Space = " "
16        Newline = "\n"
17    )
 
 
19    func main() {
20        flag.Parse()   // Scans the arg list and sets up flags
21        var s string = ""
22        for i := 0; i < flag.NArg(); i++ {
23            if i > 0 {
24                s += Space
25            }
26            s += flag.Arg(i)
27        }
28        if !*omitNewline {
29            s += Newline
30        }
31        os.Stdout.WriteString(s)
32    }

  

go语言除了C有的int ,float,还有int8,int32,int32跟int同样大小,但是跟int不同,byte跟int8同样大小,类型也一样

s:="string"有点类似于C语言的char *str = "string",这样是不允许修改字符串内容的,只能更改str的指向

如果要创建可以修改的字符串,必须使用数组

 

声明一个数组 s:= []int{1,2,3}

 

var arrayOfInt [3] int{1,2,3},定义数组,不过arrayofint不能退化成指针

 

a:= [2][2]int{ [2]int{1,2},[2]int{3,4}}

 

slice

s:= [3]int{1,2,3};

sl = s[1:2];

fmt.Printf("%d\n",sl[0])

输出是2

go中的map要使用make来创建

可以用range来遍历数组,map,slice

for _;days = range monthdays {

fmt.Printf("%d\n",days);

}

 

函数:

def func(xs []int)

这个函数是传入一个splite而不是数组,在使用这个函数的时候:fun(array[:])而不是func(array),会提示无法把array转化为 []int

posted @   linyilong  阅读(341)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示