首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏XinChen's Tec

    GoLang9 - Go语言函数

    Go 语言函数 函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。 函数定义 Go 语言函数定义格式如下: func function_name( [parameter list] ) [return_types] { 函数体 } 函数定义解析: func:函数由

    27910编辑于 2023-02-27
  • 来自专栏开发语言-Go

    Go语言学习9-结构体类型

    引言书接上篇,我们了解了Go语言的《接口类型》,现在介绍Go语言的结构体类型。主要如下:主要内容结构体类型既可以包含若干个命名元素(又称字段),又可以与若干个方法相关联。1. 在Go语言中,可以在结构体类型声明中的字段声明的后面添加一个字符串字面量标签,以作为对应字段的附加属性。 在Go语言中,常常将用于表示结构体值的复合字面量简称为结构体字面量。在同一个结构体字面量中,一个字段名称只能出现一次。 在Go语言中,只存在嵌入而不存在继承的概念。不能把前面声明的 List 类型的值赋给一个 Sequence 类型的变量,这样的赋值语句会造成一个编译错误。 在Go语言中,虽然很多预定义类型都属于泛型类型(比如数组类型、切片类型、字典类型和通道类型),但却不支持自定义的泛型类型。

    28312编辑于 2024-10-04
  • 来自专栏猫头虎博客专区

    2016年2月9Go生态洞察:Go语言中的语言和地区匹配

    2016年2月9Go生态洞察:Go语言中的语言和地区匹配 摘要 猫头虎博主在此!今天我们来探讨Go语言中如何处理语言和地区的匹配问题,这是构建多语言应用程序时的一个重要考虑。 在这篇博客中,我们将深入了解Go如何帮助解决这一挑战。搜索词条:Go语言语言标签,地区匹配。 引言 在支持多种语言的应用程序中,确定用户首选语言与应用支持的语言之间的最佳匹配是一个复杂的决策。 本文将解释为什么这是一个困难的决定,并探讨Go如何提供帮助。 正文 ️ 语言标签 语言标签,也被称为地区标识符,是用于标识使用的语言或方言的机器可读标识符。 Go中的语言匹配 Go的golang.org/x/text/language包实现了BCP 47标准,并增加了基于Unicode Common Locale Data Repository (CLDR) 标识语言和方言的机器可读标识符 匹配的复杂性 语言标签处理的复杂方面 Go中的匹配 Go提供的语言匹配功能 总结 处理多语言应用程序中的语言和地区匹配是一个复杂且细微的任务。

    25810编辑于 2024-04-08
  • 来自专栏日积月累1024

    Go语言入门经典》7~9章读书笔记

    Go语言没有提供自定义默认值的内置方法,但可使用构造函数来实现这个目标。构造函数创建结构体,并将没有指定值的数据字段设置为默认值。 请注意,这只是一种技巧,而并非Go语言规范的组成部分。 7.5 比较结构体 对结构体进行比较,要先看它们的类型和值是否相同。对于类型相同的结构体,可使用相等性运算符来比较。 第9章使用字符串 9.1 创建字符串字面量 Go语言支持两种创建字符串字面量的方式。解释型字符串字面量是用双引号括起的字符,如"hello"。一种创建字符串的简单方式是使用解释型字符串字面量。 要获悉字符串包含多少个字节,可使用Go语言的内置函数len。 由于Go字符串为字节切片,因此可输出字符串中特定位置的字节值。 在Go语言中,可使用格式设置将十进制值转换为字符和二进制表示。

    62920发布于 2020-12-07
  • 来自专栏运维开发王义杰

    Go:了解和集成使用 Plan 9 汇编语言

    今天我们将一起学习和使用go汇编语言Plan 9,并通过一个简单的例子来展示它的用法。go tool asm 是 Go 语言对外提供的一个汇编器工具,它可以用于调试go汇编代码。 1: 了解 Plan 9 汇编语言 在开始之前,我们需要了解 Go 汇编语言的基本概念。 Go 的汇编语言与传统的汇编语言略有不同,它使用了一种叫做 Plan 9 汇编语言的风格,这种风格更贴近高级语言Go 编译器使用 Plan 9 汇编语言作为一种中间表示,因为它具有以下优点: 可移植性: Plan 9 汇编语言是一种相对通用的汇编语言,可以移植到不同的 CPU 平台。 以下是 Go 编译过程的简化示意图: 总而言之,Go 语言使用 Plan 9 汇编语言作为一种中间表示,可以提高 Go 代码的可移植性和简洁性。

    1.1K11编辑于 2024-05-10
  • 来自专栏Go编程点滴

    Go语言技巧 - 9.【浅析微服务框架】Kratos概览

    └── greeter_http.pb.go 从目录结构看到,里面包含了三类文件: *.proto 原始IDL文件 *.go 利用protoc工具生成的go文件,包括http和grpc 有利于IDL文件的传播 - proto文件可以快速生成其余语言的代码,独立文件夹更有利于扩散给外部调用者。 │ │ ├── README.md │ │ ├── biz.go │ │ └── greeter.go internal目录是go语言的一个特性,内部代码不会暴露给外部。 │ │ ├── http.go │ │ └── server.go 前面IDL文件(protobuf)生成了RPC方法的接口(interface),这里就是RPC方法的具体实现。 而成的Go语言开发框架,可以发现它有3个关键点: RPC层复用protobuf的能力 底层依赖Kubernetes的能力 各类工具复用开源库的能力 很多中大型公司的内部框架都是按照这种思路实现的,只是会封装一些公司通用能力

    2.6K21编辑于 2022-01-04
  • 来自专栏猫头虎博客专区

    2015年1月9Go生态洞察:GothamGo——纽约的Go语言盛会

    2015年1月9Go生态洞察:GothamGo——纽约的Go语言盛会 摘要 嗨,我是猫头虎!今天我们要聊聊去年11月在纽约举办的首个全天Go语言会议——GothamGo。 这次会议聚集了来自美国各地的200多名Go语言爱好者,包括大学生、行业专家和Go团队成员。 引言 GothamGo是Go语言社区的一次重要聚会,它为Go开发者提供了一个分享经验、学习新知识和结识同行的平台。会议中的演讲内容丰富,涵盖了Go语言的多个方面。 Go语言的应用和探索 会议中涉及到了Go语言的各种应用,从入门指导、错误处理、并发编程,到在Android平台的使用等。 Go语言在实践中的探索 Keith Rarick 讨论了如何有效管理依赖。 Go社区的发展 这次活动反映了Go社区的活力和多样性,展示了Go语言在不同领域的应用潜力。

    10910编辑于 2024-04-09
  • 来自专栏ai_houzi

    go语言基础9-错误处理和资源管理

    go 语言通过defer调用实现资源管理 defer 确保调用在函数结束时发生 panic 停止当前函数执行 一直向上返回,执行每一层的defer 如果没有遇见recover,程序会退出 recover

    38410发布于 2019-04-04
  • 来自专栏python3

    Go语言】【3】GO语言常量

      通常情况下语言入门前会讲一堆背景和特性,目的是为了能让学习者对该语言有一个大概的认识,但这里我想直接进入细节,不是因为任性,而是因为常量是编程语言最基本的组成元素,这与语言背景无关。 当然可以,要知道GO语言是最懂程序员的哟 :) const PI = 3.1415926535897932 const EluerE = 2.718281828459045 const value = GO是怎么区分常量/变量是对内还是对外的呢? ---- 【编后话】: 开始接触GO,感觉它就是一个大杂烩,里面即有C语言的影子,也有Java语言的影子,也有JavaScript脚本的影子,同时还有Pascal语言的痕迹,但使用使用着感觉这符合人的正常思维 借用知乎用户的话讲:GO语言是一门看似简单实际并不简单,貌似外表丑陋实则另有考究的语言。 ----

    2.4K10发布于 2020-01-07
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言数组

    Go编程语言提供称为数组的数据结构,其可存储相同类型的元素的一个固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。 声明数组 要声明在Go语言数组,程序员指定元素的类型以及如下的数组所需元件的数目: var variable_name [SIZE] variable_type 这就是所谓的一维数组。 例如: float32 salary = balance[9] 以上语句需要将数组的第10个位置的元素赋值给变量salary。以下是其将使用所有上述三个概念即一个例子。 = 109 数组是很重要的在Go语言中,应该需要了解更多的细节。 有下列关系到数组几个重要的概念Go程序员是应该清楚的: 概念 描述 多维数组 Go支持多维数组。

    2K150发布于 2018-03-20
  • 来自专栏从流域到海域

    Go语言起源 【Go语言圣经笔记】

    Go语言起源 以下早期语言Go语言的设计产生了重要影响: C Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。 Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。 Rob Pike尝试将CSP引入实际的编程语言: Squeak(老鼠间交流的语言)管道静态创建 进版的Newsqueak语言 提供了类似C语言语句和表达式的语法和类似Pascal语言的推导语法 带垃圾回收的纯函数式语言 管道动态创建 属于第一类值 可以保存到变量中 Alef -> Limbo http://talks.golang.org/2012/concurrency.slide#9 APL iota Scheme 词法作用域与嵌套函数 Go中的创新设计: 切片 为动态数组提供了有效的随机存取的性能 链表的底层共享机制 defer语句 参考文献 Go语言圣经(简体中文版)

    1.2K20编辑于 2021-12-06
  • 来自专栏从流域到海域

    Go语言指针 【Go语言圣经笔记】

    摘自:Go语言圣经(简体中文版) 2.3.2 指针 一个变量对应一个保存了变量对应类型值的内存空间。 var x, y int fmt.Println(&x == &x, &x == &y, &x == nil) // true false false 在Go语言中,返回函数中局部变量的地址也是安全的 例如下面这个例子就是通过指针来更新变量的值,然后返回更新后的值,可用在一个表达式中(译注:这是对C语言中++v操作的模拟,这里只是为了说明指针的用法,incr函数模拟的做法并不推荐): func incr 指针特别有价值的地方在于我们可以不用名字而访问一个变量,但是这是一把双刃剑:要找到一个变量的所有访问者并不容易,我们必须知道变量全部的别名(译注:这是Go语言的垃圾回收器所做的工作)。 $ go build gopl.io/ch2/echo4 $ ./echo4 a bc def a bc def $ ./echo4 -s / a bc def a/bc/def $ .

    95610编辑于 2021-12-06
  • 来自专栏Golang语言社区

    Go 语言社区】Go 语言Map(集合)

    Go 语言Map(集合) Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

    1.5K90发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言范围规则

    有三个地方变量可以在Go编程语言声明如下: 内部函数或这就是所谓的局部变量块 所有函数的外面的变量称为全局变量 在这被称为形式参数函数的参数的定义 让我们来解释一下什么是局部和全局变量和形式参数。

    1.1K110发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言类型转换

    类型转换是一种可变从一种数据类型转换成另一种数据类型。例如,如果要存储一个long值转成一个简单的整数,那么可以强制类型转换long为int。可以从一种类型使用转换运算符将原类型值转换为另一种类型值,如下: type_name(expression) 例子 请看下面的例子中,产生浮点数运算执行一个整型变量除以另一个数的转换。 package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean float

    1.4K140发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go 语言函数--转

    Go 语言函数 函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数字,则返回数组中包含的函数个数。 ---- 函数定义 Go 语言函数定义格式如下: func function_name( [parameter list] ) [return_types] { 函数体 } 函数定义解析: func:函数由 num1 } else { result = num2 } return result } 以上实例在 main() 函数中调用 max()函数,执行结果为: 最大值是 : 200 函数返回多个值 Go 默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

    1.6K80发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go 语言范围(Range)

    Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。 for i, c := range "go" { fmt.Println(i, c) } } 以上实例运行输出结果为: sum: 9 index: 1 a -> apple b

    1K100发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言编程-语法

    Go注释 //单行注释 /* */多行注释 Go的内置关键字 default select defer go goto fallthrough range package(包) import( func(方法) map(map类型) switch case if else for continue break const(定义常量) chan(通道,用于多个服务器之间的通道,用于并发) Go

    1.8K60发布于 2018-03-20
  • 来自专栏go程序例子

    Go程序例子(9):切片

    切片(Slices)是 Go 语言中一个重要的数据类型,相比数组提供了更强大的序列接口。 运行结果:$ go run slices.gouninit: [] true trueemp: [ ] len: 3 cap: 3set: [a b c]get: clen: 3apd: [a b c

    21010编辑于 2024-12-09
  • 来自专栏sofu456

    go语言

    1.配置gopath和goroot goroot是go的安装目录,gopath是go语言的第三方库目录,需要添加环境变量GOPATH、GOROOT(安装时默认添加 ) src目录源码,pkg编译中间文件,bin运行程序 可以通过go env查看配置(同npm config list一样) 2.命令行 go get下载三方库(相当于git clone+go install下载依赖库,下载路径:网站域名github+作者+项目) go install 安装(相当于go build输出目录不同) go build编译成可执行文件 3.go语言变量定义方向不同 type 定义 var变量 var a sting 定义一个字符

    62730发布于 2019-07-09
领券