LoginSignup
12
4

More than 5 years have passed since last update.

Goの変数名を日本語で書くと言う一つの方法

Last updated at Posted at 2017-12-03

アドベントカレンダーにはかけない程度のメモです。

ありそうで中々ない日本語による変数名ですが、個人的には日本人のみのチームなら有りだと思っています。
利点は圧倒的な可読性。
さらに英語圏の人へは難読化になると言う特典付き・・・如何でしょうか。

package main

import "fmt"

type 魔法少女 struct {
  まどか string
  ほむら string
}

func にゅー魔法少女()  *魔法少女{
  return &魔法少女{
    まどか:   "魔法少女まどか",
    ほむら:   "魔法少女ほむら",
  }
}

type 話数 struct {
   int
}

func( *話数)マミったかな(){
  if . >= 3 {
     fmt.Println("マミった")
  } else {
    fmt.Println("マミってない")
  }
}

type 契約しようよ string

func main() {
  まほうしょうじょ := にゅー魔法少女()
  fmt.Println(まほうしょうじょ.まどか) //=> 魔法少女まどか
  fmt.Println(まほうしょうじょ.ほむら) //=> 魔法少女ほむら

  夢の中で逢ったような := new(話数)
  夢の中で逢ったような. = 1

  もう何も怖くない := new(話数)
  もう何も怖くない. = 3

  夢の中で逢ったような.マミったかな() //=> マミってない
  もう何も怖くない.マミったかな()     //=> マミった

  まどかちゃんへ := make(chan 契約しようよ, 5)

  go func(){
    まどかちゃんへ <- "僕と契約して魔法少女になってよ!"
    まどかちゃんへ <- "僕と契約して魔法少女になってよ!"
    まどかちゃんへ <- "僕と契約して魔法少女になってよ!"
    まどかちゃんへ <- "僕と契約して魔法少女になってよ!"
    まどかちゃんへ <- "その必要はないわ。"
    close(まどかちゃんへ)
  }()

  for やあまどか := range まどかちゃんへ{
    fmt.Println(やあまどか)
    /* =>僕と契約して魔法少女になってよ!
     僕と契約して魔法少女になってよ!
     僕と契約して魔法少女になってよ!
     僕と契約して魔法少女になってよ!
     その必要はないわ。*/
  }
}

12
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
4