当前位置:网站首页>[Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output

[Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output

2022-07-08 00:33:00 InfoQ

One 、 Automatic derivation type

1. Automatic derivation type

Automatic derivation type , When declaring assignment variables , Unwanted var And variable types , Its type is determined by the assigned value .

package main

import "fmt"

func main() {
 // initialization
 var a int = 10
 // assignment
 a = 20
 // Automatic derivation
 b := 30
 // Output
 fmt.Println(a, b)
}

2. summary

  • What is automatic derivation type : When declaring assignment variables , Unwanted var And variable types , Its type is determined by the assigned value .
  • Automatically deduce the basic syntax format of the type :“ Variable name := value ”.
  • Multiple assignments ( Use the automatic derivation type to assign values to multiple variables at one time ) Grammar format :“ Variable name 1, Variable name 2, Variable name 3:=  value 1, value 2, value 3"

Two 、 Input and output

1. Output

1.1 fmt.Print

Normal output

func Print(a ...interface{}) (n int, err error)

  • Print Format its parameters in the default format and write them to standard output .
  • If two adjacent parameters are not strings , A space is added between their outputs .
  • Returns the number of bytes written and any errors encountered .

1.2 fmt.Println

Line feed output

func Println(a ...interface{}) (n int, err error)

  • Println Format its parameters in the default format and write them to standard output .
  • Spaces are always added between adjacent output parameters and the end of the line breaks .
  • Returns the number of bytes written and any errors encountered .

1.3 fmt.Printf

Format output

func Printf(format string, a ...interface{}) (n int, err error)

  • Printf according to format Parameter generates a formatted string and writes it to standard output .
  • Returns the number of bytes written and any errors encountered .

2. Input

2.1 fmt.Scan

Normal input

func Scan(a ...interface{}) (n int, err error)

  • Scan Scan text from standard input , Save the successfully read white space delimited value into the file passed to -  The parameters of this function . Line breaks are treated as white space .
  • Returns the number of items successfully scanned and any errors encountered . If fewer entries are read than the parameters provided , Will return an error report reason .

Case study :

package main

import "fmt"

func main() {
 var (
 name string
 age int
 isMale bool
 )
 fmt.Scan(&name, &age, &isMale)
 fmt.Printf(" Scan results  name:%s age:%d isMarried:%t \n", name, age, isMale)
}

null

2.2 fmt.Scanf

Format input

func Scanf(format string, a ...interface{}) (n int, err error)

  • Scanf Scan text from standard input , according to format  The format specified by the parameter saves the successfully read blank separated value into the parameter successfully passed to this function .
  • Returns the number of items successfully scanned and any errors encountered .

Case study :

package main

import "fmt"

func main(){
 var (
 name string
 age int
 isMale bool
 )
 fmt.Scanf("name:%s age:%d isMale:%v", &name, &age, &isMale)
 //fmt.Scanf("%s%d%t",&name,&age,&isMale) It is recommended that , When typing, use a space between
 fmt.Printf(" Scan results  name:%s age:%d isMarried:%t \n", name, age, isMale)
}

null

2.3  summary

  • Scanf() Grammar format :fmt.Scanf("%d",&num)
  • Scan() Grammar format :fmt.Scan(&num)
  • Variable address : In memory, corresponding storage units will be opened up for variables , In order to find the storage unit access   data , The system will add a number to each unit , This number is the address
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/189/202207072238039449.html

随机推荐