首页 > 其他分享 >Go type casting All In One

Go type casting All In One

时间:2023-01-08 10:35:24浏览次数:60  
标签:casting dev go tour https xgqfrms Go type

Go type conversions All In One

Go 语言类型转换

https://go.dev/ref/spec#Conversions

The Go Programming Language Specification

Version of June 29, 2022

https://go.dev/ref/spec

strconv

int to string

image


/**
 *
 * @author xgqfrms
 * @license MIT
 * @copyright xgqfrms
 * @created 2023-01-07
 *
 * @description close-channel.go
 * @augments
 * @example
 * @link
 *
 */

package main

// import "fmt"

import (
  "fmt"
  // 字符串类型转换
  "strconv"
)

func fibonacci(n int, c chan int) {
  x, y := 0, 1
  for i := 0; i < n; i++ {
    c <- x
    // switch
    x, y = y, x + y
  }
  // 关闭通道
  close(c)
}

func main() {
  c := make(chan int, 10)
  go fibonacci(cap(c), c)
  // range 函数遍历每个从通道接收到的数据
  // 因为 c 在发送完 10 个数据之后就关闭了通道,所以这里我们 range 函数在接收到 10 个数据之后就结束了。
  // 如果上面的 c 通道不关闭,那么 range 函数就不会结束,从而在接收第 11 个数据的时候就阻塞了。
  for i := range c {
    // fmt.Println("fibonacci =", i)
    // int to string ✅
    str := strconv.Itoa(i)
    fmt.Println("fibonacci " + str + " =", i)
    // fmt.Println("fibonacci " + string(i) + " =", i)
    // ❌ invalid operation: "fibonacci " + i (mismatched types untyped string and int)
    // fmt.Println("fibonacci " + i + " =", i)
  }
  // ❌ range over c (variable of type chan int) permits only one iteration variable
  // for i, v := range c {
  //   fmt.Println("i, v =", i, v)
  // }
}

/*
$ go run close-channel.go
fibonacci 0 = 0
fibonacci 1 = 1
fibonacci 1 = 1
fibonacci 2 = 2
fibonacci 3 = 3
fibonacci 5 = 5
fibonacci 8 = 8
fibonacci 13 = 13
fibonacci 21 = 21
fibonacci 34 = 34

*/

/*
$  go run close-channel.go
fibonacci = 0
fibonacci = 1
fibonacci = 1
fibonacci = 2
fibonacci = 3
fibonacci = 5
fibonacci = 8
fibonacci = 13
fibonacci = 21
fibonacci = 34

*/


/*
$ go run close-channel.go
fibonacci  = 0
fibonacci  = 1
fibonacci  = 1
fibonacci  = 2
fibonacci  = 3
fibonacci  = 5
fibonacci = 8
 = 13 cci
fibonacci  = 21
fibonacci " = 34 "

*/

image

string to int

Go Docs

Documentation - The Go Programming Language

https://go.dev/doc/

tutorial

https://go.dev/doc/tutorial/getting-started

tour

https://go.dev/tour/list

https://go.dev/tour/welcome/1

https://go.dev/tour/basics/1

zh-Hans

https://tour.go-zh.org/list

https://tour.go-zh.org/welcome/1

https://tour.go-zh.org/basics/1

playground

https://go.dev/play/

https://go.dev/blog/playground

image

Go by Example

https://gobyexample.com/

(

标签:casting,dev,go,tour,https,xgqfrms,Go,type
From: https://www.cnblogs.com/xgqfrms/p/17034168.html

相关文章

  • 【Python】TypeError: integer argument expected, got float【‘/’与'//'的区别】
    运行如下代码:突然出现错误。fromPILimportImageimage=Image.open('./image/3.JPG')print(image)image_1=image.resize((1000,1000))image_2=image.resize((image.......
  • [C++/Java/Py/C#/Ruby/Swift/Go/Scala/Kotlin/Rust/PHP/TS/Elixir/Dart/Racket/Erlang
    目录题解地址代码cppjavapython3C#rubyswiftgolangscalakotlinrustphptypescriptelixirdartracketerlang题解地址https://leetcode.cn/problems/counting-words-with-a-g......
  • (4)go-micro微服务proto开发
    目录一Protobuf介绍二安装Protobuf三Protobuf语法1.1基本规范1.2字段规则1.3service如何定义1.4Message如何定义四proto代码编写五生成.go文件六最后一Protobu......
  • Go 自定义序列化
    实现MarshalJSON()([]byte,error)方法,序列化后可以把原来的枚举数转化为枚举数对应的字符串实现UnmarshalJSON([]byte)error方法,可以把byte中的枚举的字符串转化为对......
  • Go结构体数据校验
    github.com/go-playground/validator范围约束对于字符串、切片、数组和map,约束其长度。len=10,min=6,max=10,gt=10。对于数值,约束其取值。min,max,eq,ne,g......
  • Go实现String方法
    给结构体实现String()sting方法,方便按照我们想看的方式打印出来fmt.Println(),类似与python的__str__和__repr__packagemain_testimport( "fmt" "github.com/byteda......
  • Go语言学习day2
    1.go的结构体没有构造函数,但是可以自己实现一个。由于值拷贝的开销比较大,所以返回的是结构体指针类型packagemainimport"fmt"typepersonstruct{ name,citystr......
  • go in action学习,go语法一些特殊点
    1.如果接口类型只包含一个方法,那么这个类型的名字以er结尾。如果接口类型内部声明了多个方法,其名字需要与其行为关联。2.如果要让一个用户定义的类型实现一个接口,这个用......
  • 适合编程初学者的开源项目:小游戏2048(Go语言版)
    目标为编程初学者打造入门学习项目,使用各种主流编程语言来实现。2048游戏规则一共16个单元格,初始时由2或者4构成。1、手指向一个方向滑动,所有格子会向那个方向运动。2......
  • JavaScript学习笔记—原型对象prototype
      创建的每个函数,解析器都会向函数中添加一个属性prototype,这个属性对应着一个对象就是我们所谓的原型对象。  函数作为普通函数调用prototype没有任何作用  当函......